Forum d'entraide PHPFrance

Venez poser vos questions PHP, MySQL, HTML, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

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

Pour ceux qui débutent en PHP.

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

Messagepar 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
<!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:
<?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........
En informatique:
la théorie,c est quand on sait tout faire mais que rien ne fonctionne
la pratique, c est quand tout fonctionne mais que personne ne sait pourquoi.
Ici nous avons réussi à réunir théorie et pratique:rien ne fonctionne et personne ne sait pourquoi...
boussole1
Embryon
 
Messages: 5
Inscription: 09 Mai 2008, 12:53

Messagepar 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

Syntaxe: [ Télécharger ] [ Masquer ]
Code php

if(!empty($_POST&#91;'jour'&#93;)&&!empty($_POST&#91;'mois'&#93;)&&!empty($_POST&#91;'an'&#93;){

 $datenaissance = $_POST&#91;'an'&#93;."-".$_POST&#91;'mois'&#93;."-".$_POST&#91;'jour'&#93;;

}

else {

 $datenaissance = "0000-00-00";

}

 
"Il vaut mieux avoir du luxe dans ses sentiments que sur ses habits, je ne crains, moi, le mépris de personne" Honoré De Balzac.
"On s'étonne trop de ce que l'on voit rarement et trop peu de ce que l'on voit chaque jour" Mme de Genlis
"L'absence diminue les médiocres passions et augmente les grandes comme le vent éteint les bougies et allume le feu" La RocheFoucauld
"People have hope because they can't see Death standing behind them" (anonymous)
"Of all the things I've lost, I miss my brain the most" (from a fanfic)
animithra
J'ai codé une fonction !
 
Messages: 174
Inscription: 24 Oct 2006, 15:59
Localisation: 94

Messagepar Patriboom 09 Mai 2008, 14:26

Les fonctions mktime, date et autres de la collection t'aideront à passer d'un format à l'autre.
Soyez artisans de paix
Patriboom
Eléphant
 
Messages: 639
Inscription: 07 Sep 2007, 03:31
Localisation: Québec

Messagepar 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. :(
En informatique:
la théorie,c est quand on sait tout faire mais que rien ne fonctionne
la pratique, c est quand tout fonctionne mais que personne ne sait pourquoi.
Ici nous avons réussi à réunir théorie et pratique:rien ne fonctionne et personne ne sait pourquoi...
boussole1
Embryon
 
Messages: 5
Inscription: 09 Mai 2008, 12:53

Messagepar 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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...
Avatar de l’utilisateur
Ryle
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 9740
Inscription: 07 Fév 2006, 17:25
Localisation: Lat: 48°89. Long: 2°30.

Messagepar 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: laboussole2@yahoo.fr. je lui enverrai tout le code ainsi que les le formulaire d inscription...

bye bye à tous et merci encore ryle. :lol: :twisted:
boussole1
Embryon
 
Messages: 5
Inscription: 09 Mai 2008, 12:53


Retourner vers PHP débutant

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 16 invités