insertion de la date en liste deroulante dans une base de donnée phpmyadmin

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 : insertion de la date en liste deroulante dans une base de donnée phpmyadmin

par boussole1 » 19 mai 2008, 14:36

merci ryle


j ai essayé ta methode et tout va pour le mieux. j arrive à mettre ma base de donnée à jour avec ta methode. j ai aussi ecris un code pour l affichage de la date au format français.

merci à tous et je pense que mon probleme est resolu. celui qui veut entiereement le code peut m ecrire a l adresse mail suivant: [email protected]. je lui enverrai tout le code ainsi que les le formulaire d inscription...

bye bye à tous et merci encore ryle. :lol: :twisted:

par Ryle » 19 mai 2008, 12:14

On pourrait également te faire tes lassets mais il serait préférable je pense que tu comprennes comment les faire toi même pour ne pas dépendre des autres :)

Les choses à comprendre :
- Le navigateur envoi au serveur (via la méthode POST) les données saisies par l'utilisateur dans le formulaire (donc tes 3 champs "an", "mois" et "jour")
- PHP récupére les valeurs associée à chacun de ces champs dans 3 variable distinctes : $_POST["an"], $_POST["mois"] et $_POST["jour"] (et non une combinaison farfelue d'index qui tenterait de lire la valeur de $_POST["anmoisjour"], variable naturellement non définie ;))
- PHP va préparer une requête SQL, c'est à dire une chaine de caractère contenant les valeurs des variables afin que ta base de données puisse les enregistrer.
- Pour insérer une date dans une base MySQL il faut généralement formater sa valeur de telle sorte qu'elle ressemble à AAAA-MM-JJ. PHP doit donc préparer la chaine SQL en concaténant tes 3 valeurs dans le bon ordre et en ajoutant les tirets lorsque c'est nécessaire.
- La chaine préparée n'a plus ensuite qu'à être utilisée dans ta requête SQL, délimitée par des apostrophes (comme toute chaine dans une requête SQL) et la requête envoyée à la base via un mysql_query() pour être exécutée..

Tu as normalement maintenant toutes les informations qui te permettront de résoudre ton problème et surtout de ne plus butter dessus la prochaine fois :)

HTH :)

par boussole1 » 19 mai 2008, 11:14

slt animithra

j ai reçu ton code mais il ne fonctionne pas avec mon php. tu as tout le code devant toi pourrais tu me donner l endroit excate tu mettrais ce bout de code j ai reçu de toi.

merci pour tout. :(

par Patriboom » 09 mai 2008, 14:26

Les fonctions mktime, date et autres de la collection t'aideront à passer d'un format à l'autre.

par animithra » 09 mai 2008, 13:37

Bonjour.

Lorsque vous reformatez la date, vous la mettez effectivement au format anglophone (an,mois,jour) mais il faudrait vérifier que ce soit le format que prend votre base de données.

En effet il est possible que le standard d'enregistrement soit du type

AAAA-MM-JJ (avec les - en plus entre chaque donnée)

Le plus simple serait alors de déduire du formulaire le jour le mois et l'année et d'écrire
if(!empty($_POST['jour'])&&!empty($_POST['mois'])&&!empty($_POST['an']){
 $datenaissance = $_POST['an']."-".$_POST['mois']."-".$_POST['jour'];
}
else {
 $datenaissance = "0000-00-00";
}

insertion de la date en liste deroulante dans une base de do

par boussole1 » 09 mai 2008, 13:26

bonjour a tous et a toutes je suis un fanatique de l'informatique et j ai un serieux problemeau niveau de l'insertion de la date dans ma base de donnée.
j ai crée une base de donnée " recensement" et aussi deux tables " personne et responsable" ainsi qu un formulaire a partir duquel j enregistre toutes les données. la date est ds un format de liste deroulante. "le jour" ," le mois" et " l'année" ont chacun leur liste deroulante. mon probleme je ne connais pas le code que les farait inserer ds la base. voila le code du formulaire

Code : Tout sélectionner

<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html> <head> <title>FICHE ENREGISTREMENT</title> </head> <body> <table border="10" align="center"> <td align="center"><h1> FICHE DE RECENSEMENT </h1></td> </table> <h3 align="center">INFORMATIONS SUR LE RESPONSABLE DE RECENSEMENT </h3> <form action ="insert.php" method ="POST"> <table> <tr><td align="left">NOM DU RESPONSABLE:</td><td><input type="text" name="vnom" size="27"></input></td></tr> <tr><td align="left">PRÉNOM DU RESPONSABLE:</td><td> <input type="text" name="vprenom" size="27"></input></td></tr> <tr><td align="left">COMMUNE DU RESPONSABLE:</td><td></input> <select size="1" name="vcommune"> <option selected value=""></option> <option value="cocody">cocody</option> <option value="adjame">adjame</option> <option value="dabou">dabou</option> <option value="koumassi">koumassi</option> <option value="yopougon">yopougon</option> <option value="marcory">marcory</option> <option value="treichville">treichville</option> <option value="port-bouet">port-bouet</option> <option value="plateau">plateau</option> <option value="abobo">abobo</option> <option value="attecoube">attecoube</option> <option value="bingerville">bingerville</option> <option value="grand-bassam">grand-bassam</option> </select></td></tr> <tr><td align="left">CONTACT DU RESPONSABLE:</td><td> <input type="text" name="vcontact" size="27"></input></td></tr> </table> <h3 align="center">INFORMATIONS SUR LA PERSONNE RECENSEE</h3> <table width="452" height="165"> <tr><td width="221" height="22" align="left">NOM:</td> <td width="275" height="22"><input type="text" name="nom" size="36"></input></td></tr> <tr><td width="221" height="14" align="left">PRÉNOM:</td> <td width="275" height="14"><input type ="text" name ="prenom" size="36"></input></td></tr> <tr><td width="221" height="19" align="left"> <p align="left">DATE DE NAISSANCE:</td> <td width="275" height="19"></input><b><font size="2">JOUR</font><i>:</input></i></b><i><select size="1" name="jour" value="1" tabindex="1"> <option selected value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select></i><font size="2"><b> MOIS<i>:</i></b></font><select size="1" name="mois"> <option selected value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select><b><font size="2"> AN<i>:</i></font></b> <select name="an" value="1935" size="1"> <option value="1935" selected>1935</option> <option value="1936" >1936</option> <option value="1937" >1937</option> <option value="1938" >1938</option> <option value="1939" >1939</option> <option value="1940" >1940</option> <option value="1941" >1941</option> <option value="1942" >1942</option> <option value="1943" >1943</option> <option value="1944" >1944</option> <option value="1945" >1945</option> <option value="1946" >1946</option> <option value="1947" >1947</option> <option value="1948" >1948</option> <option value="1949" >1949</option> <option value="1950" >1950</option> <option value="1951" >1951</option> <option value="1952" >1952</option> <option value="1953" >1953</option> <option value="1954" >1954</option> <option value="1955" >1955</option> <option value="1956" >1956</option> <option value="1957" >1957</option> <option value="1958" >1958</option> <option value="1959" >1959</option> <option value="1960" >1960</option> <option value="1961" >1961</option> <option value="1962" >1962</option> <option value="1963" >1963</option> <option value="1964" >1964</option> <option value="1965" >1965</option> <option value="1966" >1966</option> <option value="1967" >1967</option> <option value="1968" >1968</option> <option value="1969" >1969</option> <option value="1970" >1970</option> <option value="1971" >1971</option> <option value="1972" >1972</option> <option value="1973" >1973</option> <option value="1974" >1974</option> <option value="1975" >1975</option> <option value="1976" >1976</option> <option value="1977" >1977</option> <option value="1978" >1978</option> <option value="1979" >1979</option> <option value="1980" >1980</option> <option value="1981" >1981</option> <option value="1982" >1982</option> <option value="1983" >1983</option> <option value="1984" >1984</option> <option value="1985" >1985</option> <option value="1986" >1986</option> <option value="1987" >1987</option> <option value="1988" >1988</option> <option value="1989" >1989</option> <option value="1990" >1990</option> <option value="1991" >1991</option> <option value="1992" >1992</option> <option value="1993" >1993</option> <option value="1994" >1994</option> <option value="1995" >1995</option> <option value="1996" >1996</option> <option value="1997" >1997</option> <option value="1998" >1998</option> <option value="1999" >1999</option> <option value="2000" >2000</option> <option value="2001" >2001</option> <option value="2002" >2002</option> <option value="2003" >2003</option> <option value="2004" >2004</option> <option value="2005" >2005</option> <option value="2006" >2006</option> <option value="2007" >2007</option> <option value="2008" >2008</option> </select></td></tr> <tr><td width="221" height="24" align="left">LIEU DE NAISSANCE:</td> <td width="275" height="24"> <input type="text" name="lieu" size="36">&nbsp; &nbsp; </input></td></tr> <tr><td width="221" height="22" align="left">CONTACT:</td> <td width="275" height="22"><input type="text" name="contact" size="36"></input></td></tr> <tr><td width="221" height="19" align="left">COMMUNE:</td> <td width="275" height="19"> <select size="1" name="commune"> <option selected value=""></option> <option value="yopougon">yopougon</option> <option value="plateau">plateau</option> <option value="cocody">cocody</option> <option value="grand-bassam">grand-bassam</option> <option value="koumassi">koumassi</option> <option value="port-bouet">port-bouet</option> <option value="marcory">marcory</option> <option value="treichville">treichville</option> <option value="abobo">abobo</option> <option value="bingerville">bingerville</option> <option value="dabou">dabou</option> <option value="adjame">adjame</option> <option value="attecoube">attecoube</option> </select></input></td></tr> <tr><td width="221" height="17" align="left">N° CNI OU ATTESTATION:</td> <td width="275" height="17"><input name="attestation" size="36"></input></td></tr> </table> <p align="center"> <br><input type ="submit" value ="ENREGISTRER" style="float: left"> <input type="reset" value="ANNULER" style="float: left"> </p> </form> </body> </html>

et voila le code qui est censé les inserer dans la base de donnée. je signale que toutes les autres données sont fonctionnel mais sauf la date qui n arrive pas à s inserer.le code:

Code : Tout sélectionner

<?php include ('config.php'); if (isset($_POST['vnom'])) $nomresp=$_POST['vnom']; else $nomresp=""; if (isset($_POST['vprenom'])) $prenomresp=$_POST['vprenom']; else $prenomresp=""; if (isset($_POST['vcommune'])) $communeresp=$_POST['vcommune']; else $communeresp=""; if (isset($_POST['vcontact'])) $contactresp=$_POST['vcontact']; else $contactresp=""; if (isset($_POST['nom'])) $nompers=$_POST['nom']; else $nompers=""; if (isset($_POST['prenom'])) $prenompers=$_POST['prenom']; else $prenompers=""; if (isset($_POST["an"."mois"."jour"])) $date_naissancepers=$_POST['an'.'mois'.'jour']; else $date_naissancepers=""; if (isset($_POST['lieu'])) $lieu_naissancepers=$_POST['lieu']; else $lieu_naissancepers=""; if (isset($_POST['contact'])) $contactpers=$_POST['contact']; else $contactpers=""; if (isset($_POST['commune'])) $communepers=$_POST['commune']; else $communepers=""; if (isset($_POST['attestation'])) $numCNI_ou_Attestation=$_POST['attestation']; else $numCNI_ou_Attestation=""; if(empty($nomresp) || empty($nompers)) echo '<h2>tout les champs doivent être rempli obligatoirement</h2> '; else { // connexion a mysql mysql_connect($serv,$log,$pass) or die ('erreur de connexion'.mysql_error()); // selection de la base de donnée mysql_select_db($base) or die ('base inexistante'.mysql_error()); // requete pour inserer les informations dans la table responsable $reqRESP="INSERT INTO responsable(nom,prenom,commune,contact) values ('$nomresp','$prenomresp','$communeresp','$contactresp')"; // on envoie la requete mysql_query($reqRESP) or die ('Erreur SQL !<br/>' . $reqRESP . '<br/>' . mysql_error()); // requete pour inserer les informations dans la table personne $reqPERS="INSERT INTO personne (nom,prenom,datenaissance,lieunaissance,contact,commune,Num_cni) values ('$nompers','$prenompers','$date_naissancepers','$lieu_naissancepers','$contactpers','$communepers','$numCNI_ou_Attestation')"; // on envoie la requete mysql_query($reqPERS) or die ('Erreur SQL !<br/>' . $reqPERS . '<br/>' . mysql_error()); // on affiche le resultat des operations echo '<h2>les informations ont été ajoutées.</h2>'; // on ferme la connexion mysql_close(); } ?> <br/> <a href="affichresp.php"> AFFICHER LA LISTE DES RESPONSABLES DE RECENSEMENT</a><br> <br> <a href="affichpers.php">AFFICHER LA LISTE DES PERSONNES RECENSEES</a>
merci pour votre comprehension et pour l effort fournir. merci........