Liste déroulante dynamique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Liste déroulante dynamique

simple comme bonjour

par phil47 » 07 août 2007, 11:57

salut, Laeti moi aussi j'étais comme toi j'ai cherché beaucoup, depuis je me suis basé sur ce script
http://www.roodali.com/index.php?2007/0 ... -mysql-php
http://www.roodali.com/index.php?2007/0 ... -php-mysql
ils sont assez simple. J'ai pu les utiliser facilement

par AB » 11 juil. 2007, 02:07

Bah, Cyrano, loin de moi l'idée de remettre en question d'une quelconque façon la qualité de tes tutos :non2:

C'est simplement qu'en suivant ce sujet, je me demandais pourquoi laeti trouvait ce tuto "compliqué" alors j'ai été voir le code en 100% PHP, le plus simple. Et d'après moi la seule chose qu'il pouvait trouver de compliqué est la création de tableaux intermédiaires.
Puis en voyant la position des mysql_free_result(), je me suis dit qu'ils étaient exactement à la position où ils devraient être si les select avaient été alimentés directement par le résultat de la requête.

D'où ma petite "spéculation" puisque je sais par ailleurs que tu optimises ton code :wink:

par Cyrano » 10 juil. 2007, 19:47

En fait, ça fait longtemps que je n'ai plus mis le nez dans ce tuto : il se veut avant tout didactique. Il est d'autre part écrit en procédural, méthode que je n'utilise plus depuis bien longtemps pour ce qui est de l'accès aux données.

Le but premier est surtout de montrer le déroulement des opération pour chacune des méthodes présentées. Après, à chacun d'adapter selon ses besoins.

Dans n'importe quel apprentissage si on fait du développement, l'important est d'avoir de l'ordre et de la méthode. Même si le code est un peu bancal sur certains points, si on respecte une méthode un tant soit peu stricte, on obtiendra le résultat voulu. Plus tard, en prenant de l'expérience, on apprend à affiner son code, à en écrire moins et à l'écrire mieux.

On apprend pas à conduire avec une formule 1 sur le circuit du Castellet, on débute avec une petite voiture dans les rues de son quartier ;)

par AB » 10 juil. 2007, 17:33

Ce qui va devenir compliqué, c'est de faire plus simple
:langue:

Je me range du côté de Cyrano. Oublie tes appréhensions, ne prend pas peur à cause de la longueur du tutoriel et lance toi. Tu verras, il est vraiment bien fait et simple à comprendre ;)
Oui, c'est sûr que la version PHP est simple à comprendre.
Je me demande toutefois s'il est nécessaire de passer par la création de tableaux intermédiaires pour alimenter le menu select. Pourquoi ne pas utiliser directement le tableau associatif issu de la requête ?

Sinon une remarque issue de la précédente : puisqu'il y a création de tableaux intermédiaires, on pourrait remonter la ligne de libération de ressource mysql_free_result() avant la création du formulaire, juste après la création des tableaux.

:-k pour faire un peu de spéculation : Cyrano était peut-être parti avec l'idée d'alimenter le select directement à partir du tableau issu de la requête, d'où la position des lignes mysql_free_result(). Puis il s'est ravisé et a décidé de passer par des tableaux intermédiaires mais il a oublié de remonter ces lignes :) :?:

par zeus » 10 juil. 2007, 14:18

Ce qui va devenir compliqué, c'est de faire plus simple
:langue:

Je me range du côté de Cyrano. Oublie tes appréhensions, ne prend pas peur à cause de la longueur du tutoriel et lance toi. Tu verras, il est vraiment bien fait et simple à comprendre ;)

par Cyrano » 10 juil. 2007, 14:08

Compliqué ??? Ce qui va devenir compliqué, c'est de faire plus simple, d'autant que tu as trois méthodes possibles à ta disposition : il y en a forcément une qui te conviendra mieux que les autres. :-k

par laeti » 10 juil. 2007, 12:06

J'ai déjà étudié ce tuto mais ça me semble trop compliqué. N'y a-t-il pas quelquechose de plus simple?

par charabia » 10 juil. 2007, 11:53

Tu peux trouver un tuto sur les listes liées dans la FAQ : http://www.phpfrance.com/forums/voir_sujet-4562.php

Liste déroulante dynamique

par laeti » 10 juil. 2007, 11:09

Bonjour,

J'ai une table "commune" avec comme champs 'com_insee', 'com_nom' et 'com_cp'. Dans mon formulaire php, j'ai 2 listes déroulantes: une pour les noms de communes et une pour les codes postaux.
J'aimerai les lier de façon à faire apparaître le code postal quand je choisis une commune. J'ai fait des recherches mais comme je débute, j'ai un peu de mal à comprendre les scripts mis en ligne.
Est-ce que quelqu'un pourrait m'aider?

Pour l'instant, voilà à quoi ressemble mon code:

Code : Tout sélectionner

[php]<TR> <TD><font face="Verdana" size="2">Commune :</font></TD> <TD><select size="1" name="Commune" onChange='Choix()'><option>-- Choisissez une commune --</option> <!--Intégration des communes de la base de données dans la combobox---> <?php // requête sql $sql = "SELECT DISTINCT com_nom FROM commune ORDER BY com_nom asc"; // on sélectionne toutes les entrées nom de commune de la table commune $req=pg_query($sql) or die('Erreur SQL !'.$sql.'<br>'.pg_resul_error()); //On affiche ces entrées while ($line=pg_fetch_array($req)) { echo "<option name='Commune'>".$line['com_nom']."</option>"; } ?></select></TD> <TD><font face="Verdana" size="2">Code Postal :</font></TD> <TD><select size="1"> <!--Intégration des codes postaux de la base de données dans la combobox---> <?php // requête sql $sql = "SELECT DISTINCT com_cp FROM commune ORDER BY com_cp asc"; // on sélectionne toutes les entrées code postal de la table commune $req=pg_query($sql) or die('Erreur SQL !'.$sql.'<br>'.pg_resul_error()); //On affiche ces entrées while ($line=pg_fetch_array($req)) { echo "<option name='Code_Postal'>".$line['com_cp']."</option>"; } ?></select> </TD> </TR>[/php]