ajouter liste déroulante dans un formulaire d'enregistrement

ajouter liste déroulante dans un formulaire d'enregistrement - PHP - Programmation

Marsh Posté le 14-06-2011 à 10:09:41    

Bonjour,
 
J'ai un formulaire de saisie qui fonctionne,
Je voudrais ajouter en plus des listes déroulantes (actuellement j'ai des champs de saisie libre qui fonctionnent)
je voudrais avoir les deux par exemple saisir un auteur connu dans la liste déroulante et si il n'existe pas utiliser le champs libre.
 
 
Merci d'avance!
 
voici mon code:
 

Code :
  1. <?php
  2. // On commence par récupérer les champs  
  3. if(isset($_POST['titre']))      $titre=$_POST['titre'];
  4. else      $titre="";
  5. if(isset($_POST['support']))      $support=$_POST['support'];
  6. else      $support="";
  7. if(isset($_POST['photographe']))      $photographe=$_POST['photographe'];
  8. else      $photographe="";
  9. if(isset($_POST['date']))      $date=$_POST['date'];
  10. else      $date="";
  11. if(isset($_POST['provenance']))      $provenance=$_POST['provenance'];
  12. else      $provenance="";
  13. if(isset($_POST['droitimage']))      $droitimage=$_POST['droitimage'];
  14. else      $droitimage="";
  15. if(isset($_POST['description']))      $description=$_POST['description'];
  16. else      $description="";
  17. if(isset($_POST['localisation']))      $localisation=$_POST['localisation'];
  18. else      $localisation="";
  19. if(isset($_POST['nom']))      $nom=$_POST['nom'];
  20. else      $nom="";
  21. if(isset($_POST['periode']))      $periode=$_POST['periode'];
  22. else      $periode="";
  23. if(!empty($_POST['lieu']))      $lieu=$_POST['lieu'];
  24. else      $lieu="";
  25. if(isset($_POST['mot']))      $mot=$_POST['mot'];
  26. else      $mot="";
  27. if(isset($_POST['idate']))      $idate=$_POST['idate'];
  28. else      $idate="";
  29. if(isset($_POST['idauteur']))      $idauteur=$_POST['idauteur'];
  30. else      $idauteur="";
  31. if(isset($_POST['idlieu']))      $idlieu=$_POST['idlieu'];
  32. else      $idlieu="";
  33. if(isset($_POST['idmot']))      $idmot=$_POST['idmot'];
  34. else      $idmot="";
  35. if(isset($_POST['idimage']))      $idimage=$_POST['idimage'];
  36. else      $idimage="";
  37. require_once("connect.php" );
  38. $bd=mysql_connect(SERVEUR,NOM,PASSE);
  39. mysql_select_db(BASE,$bd);
  40. // on regarde dans la table auteur si le nom existe déjà  
  41. $sql = "SELECT idauteur FROM auteur WHERE nom='$nom'";
  42. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  43. $res= mysql_fetch_assoc($req);
  44. if($res!=0)  // le nom  existe déjà, on affiche un message d'erreur  
  45.     { $idauteur = $res['idauteur'];
  46.     echo '<font color="blue">Ce nom  existe déjà dans notre base.</font>';
  47.     }
  48. else  // Le nom n'existe pas, on insère d'abord les infos dans auteur
  49.     {
  50.     $sql = "INSERT INTO auteur (idauteur, nom) VALUES('','$nom')";
  51.     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  52.     // on récupère l'idauteur qui vient d'être généré  
  53.     $idauteur = mysql_insert_id();
  54.  
  55.     }
  56.    
  57.      
  58.      // on regarde dans la table dates si la periode existe déjà  
  59. $sql = "SELECT idate FROM dates WHERE periode='$periode'";
  60. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  61. $res= mysql_fetch_assoc($req);
  62. if($res!=0)  // la periode  existe déjà, on affiche un message d'erreur  
  63.     { $idate = $res['idate'];
  64.     echo '<font color="blue">Cette periode  existe déjà dans notre base.</font>';
  65.     }
  66. else  // La periode n'existe pas, on insère d'abord les infos dans dates
  67.     {
  68.     $sql = "INSERT INTO dates (idate, periode) VALUES('','$periode')";
  69.     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  70.    
  71.     // on récupère l'idate qui vient d'être généré  
  72.     $idate = mysql_insert_id();
  73.    
  74.    
  75.     }
  76.      // on regarde dans la table lieux si le lieu existe déjà  
  77.    
  78.     $sql = "SELECT idlieu FROM lieux WHERE lieu='$lieu'";
  79. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  80. $res= mysql_fetch_assoc($req);
  81. if($res!=0)  // le lieu  existe déjà, on affiche un message d'erreur  
  82.     { $idlieu = $res['idlieu'];
  83.     echo '<font color="blue">Ce lieu  existe déjà dans notre base.</font>';
  84.     }
  85. else  // Le lieu n'existe pas, on insère d'abord les infos dans lieux
  86.     {
  87.     $sql = "INSERT INTO lieux (idlieu, lieu) VALUES('','$lieu')";
  88.     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  89.     // on récupère l'idlieu qui vient d'être généré  
  90.     $idlieu = mysql_insert_id();
  91.     }
  92.    
  93.    
  94.      
  95.  
  96.   // on regarde dans la table motcles si le mot existe déjà  
  97.  
  98.       $sql = "SELECT idmot FROM motcles WHERE mot='$mot'";
  99. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  100. $res= mysql_fetch_assoc($req);
  101. if($res!=0)  // le mot  existe déjà, on affiche un message d'erreur  
  102.     { $idmot = $res['idmot'];
  103.     echo '<font color="blue">Ce mot  existe déjà dans notre base.</font>';
  104.     }
  105. else  // Le mot n'existe pas, on insère d'abord les infos dans motcles
  106.     {
  107.     $sql = "INSERT INTO motcles (idmot, mot) VALUES('','$mot')";
  108.     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  109.     // on récupère l'idmot qui vient d'être généré  
  110.     $idmot = mysql_insert_id(); }
  111. {
  112. $sql = "INSERT INTO image (idimage, titre, support, photographe, date, provenance, droitimage, description, localisation, idauteur, idate, idlieu, idmot) VALUES('$idimage','$titre','$support','$photographe','$date','$provenance','$droitimage','$description','$localisation','$idauteur','$idate','$idlieu','$idmot')";
  113. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  114.     }
  115.    
  116. mysql_close($bd);  // on ferme la connexion   
  117. ?>
  118. <div id="formulaire">
  119. <form action="saisie.php" method="post">
  120.  
  121.     <p>Titre:<br/>
  122.     <input name="titre" size="22" value="" type="text"/>
  123.    </p> 
  124.  
  125.    <p>Support:<br/>
  126.     <input name="support" size="22" value="" type="text"/>
  127.    </p> 
  128.  
  129.    <p>Photographe:<br/>
  130.     <input name="photographe" size="22" value="" type="text"/>
  131.    </p> 
  132.  
  133.    <p>Date:<br/>
  134.     <input name="date" size="22" value="" type="text"/>
  135.    </p>
  136.  
  137.     <p>Provenance:<br/>
  138.     <input name="provenance" size="22" value="" type="text"/>
  139.    </p>
  140.  
  141.     <p>Droits:<br/>
  142.     <input name="droitimage" size="22" value="" type="text"/>
  143.    </p> 
  144.     <p>Description:<br/>
  145.    <textarea name="description" rows="10" cols="50" ></textarea>
  146.    </p> 
  147. <p> Localisation dans la photothèque:<br/>
  148.    <textarea name="localisation" rows="10" cols="50" ></textarea>
  149.   </p>
  150.       <p> Nom du photographe:</p>
  151.         <input name="nom" size="22" value="" type="text"/>
  152.    </p>
  153.           <p> Periode :</p>
  154.         <input name="periode" size="22" value="" type="text"/>
  155.    </p>
  156.  
  157.     <p>  Lieu :</p>
  158.         <input name="lieu" size="22" value="" type="text"/>
  159.    </p>
  160.          <p>  Mot-clé :</p>
  161.         <input name="mot" size="22" value="" type="text"/>
  162.    </p>
  163.  
  164.      <input name="Valider" value="Valider" type="submit"/>
  165.    <input name="Effacer" value="Effacer" type="reset"/>
  166. </form>
  167. </div>


 
j'ai essayé de rajouté ça: mais sans succés la liste s'affiche mais c'est tout
// on regarde dans la table auteur si le nom existe déjà  
 
 

Code :
  1. $sql = "SELECT idauteur FROM auteur WHERE nom='$nom'";
  2. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  3. $res= mysql_fetch_assoc($req);
  4. $req=mysql_query("SELECT distinct idauteur,nom FROM auteur",$bd);
  5. /* création de la liste déroulante */
  6. echo "<select name='nom'>";
  7. echo "<option selected value='0'></option>\n";
  8. while ($res=mysql_fetch_assoc($req)){
  9.   echo "<option value='".$res["idauteur"]."'>".$res["nom"]."</option>\n";
  10. };
  11. echo "</select>";
  12. if($res!=0)  // le nom  existe déjà, on affiche un message d'erreur  
  13.     { $idauteur = $res['idauteur'];
  14.     echo '<font color="blue">Ce nom  existe déjà dans notre base.</font>';
  15.     }
  16. else  // Le nom n'existe pas, on insère d'abord les infos dans auteur
  17.     {
  18.     $sql = "INSERT INTO auteur (idauteur, nom) VALUES('','$nom')";
  19.     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  20.     // on récupère l'idauteur qui vient d'être généré  
  21.     $idauteur = mysql_insert_id();
  22.  
  23.     }


 
encore merci.....

Reply

Marsh Posté le 14-06-2011 à 10:09:41   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed