Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2482 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  ajouter liste déroulante dans un formulaire d'enregistrement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ajouter liste déroulante dans un formulaire d'enregistrement

n°2082280
craya
Posté le 14-06-2011 à 10:09:41  profilanswer
 

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.....

mood
Publicité
Posté le 14-06-2011 à 10:09:41  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  ajouter liste déroulante dans un formulaire d'enregistrement

 

Sujets relatifs
Utilisation d'une liste chainéesFormulaire PHP fonctionne avec FF pas avec IE
Liste déroulante optgroupeAjout champ texte sur un formulaire
Liste d'objet DEBUTANT JAVAValidation formulaire impossible
comment Crée une liste deroulante avec phpformulaire d'enregistrement et récupération de données
Plus de sujets relatifs à : ajouter liste déroulante dans un formulaire d'enregistrement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR