liste deroulante et jointure de table.

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 deroulante et jointure de table.

Re: liste deroulante et jointure de table.

par Ryle » 16 oct. 2010, 09:31

Le principe général est le même quelque soit le type de données que tu veux utiliser (pays, utilisateurs, messages d'un forum, billet d'un blog...).

Il te faut te connecter à ta base de données, faire une requête SQL qui va interroger ta (ou tes) table(s) et retourner les colonnes dont tu as besoin.
Une fois que tu as récupéré ces informations, tu vas pouvoir parcourir chacun des résultats (enregistrement) retourné avec php. Le but étant de générer le code html final dynamiquement grâce à php (il est donc recommandé quand tu débutes de partir du code html que tu souhaites obtenir :))

Par exemple, si ton code html final est :
<select name="pays">
  <option>Allemagne</option>
  <option>France</option>
  <option>Royaume Uni</option>
</select>
Intégrons maintenant un peu de php pour générer les options (sans grand intérêt tel quel, mais c'est pour l'exemple ;)) :
<select name="pays">
<?php
  echo '<option>' . 'Allemagne' . '</option>';
  echo '<option>' . 'France' . '</option>';
  echo '<option>' . 'Royaume Uni' . '</option>';
?>
</select>
Si tu as dans ta base les noms des pays, tu peux les récupérer et boucler dessus pour générer tes options :
<select name="pays">
<?php
  $sql = "SELECT ... FROM ... WHERE ... "; // 
  $result = mysql_query($sql);
  while ($row = mysql_fetch_assoc($result)) { //
    echo '<option>'. $row['colonne_qui_contient_le_nom_du_pays'] .'</option>';
  }
?>
</select>
Si tu as besoin d'une valeur sélectionnée par défaut, il te suffit de trouver la condition qui te permettra d'ajouter l'attribut "selected" sur l'option qui convient :)

Il te suffit donc d'adapter ton code pour récupérer les enregistrements de ta nouvelle table pour que ton code génère le html de ta page :)

liste deroulante et jointure de table.

par Shim » 16 oct. 2010, 08:12

J'apprend le php et mySQL avec un livre et je suis entrain de realiser un exercice :
creation d'un formulaire d'inscription avec une liste deroulante pour la selection du pays (dans le but d'uniformiser l'orthographe des pays)

Petit probleme le livre renvoi un site web que je trouve pas pour la table pays;
Donc j'en ai chopé une sur google, mais pas moyens de faire tourner mon formulaire.

Comment faire pour lier ma table au menu déroulant svp ?

ps (evidement j'ai une autre table membres pour enregistrer les donnnées saisies dans le formulaire)

OMG c'est dur dur le php a comparé du html et css :)