Enregistrement sur un base de donnees
Résolu/Fermé
gahmed
-
8 juil. 2009 à 12:18
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 10 juil. 2009 à 16:42
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 10 juil. 2009 à 16:42
A voir également:
- Enregistrement sur un base de donnees
- Formules excel de base - Guide
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ? ✓ - Forum Excel
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- Désolé l'utilisation de la base de données a expiré epic games - Forum Jeux vidéo
- Effacer les données de navigation - Guide
13 réponses
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
8 juil. 2009 à 15:41
8 juil. 2009 à 15:41
Bonjour,
ton erreur duplicate je pense que ton insert essaye d ajouter une l=nouvelle ligne don la clé primaire est déja renseignée dans ta base de donnée.
De plus, je pense que ton insert est placé trop tot dans ton code php, ce qui fait qu il te lance l insert sans avoir les variables adéquat a insérer...
Serait t il possible d avoir ton bout de code ??
ton erreur duplicate je pense que ton insert essaye d ajouter une l=nouvelle ligne don la clé primaire est déja renseignée dans ta base de donnée.
De plus, je pense que ton insert est placé trop tot dans ton code php, ce qui fait qu il te lance l insert sans avoir les variables adéquat a insérer...
Serait t il possible d avoir ton bout de code ??
voila mon code
il y a deux requetes INSERT car on fait sa deux tables
<?php $jours = date("d"); $moisys = date("m"); $annees = date("Y"); ?> <form action="" method="POST"> <blockquote> <center><h3> Enregistrement Patient </h3></center> <table width="707" height="111"> <tr> <td width="306"> Date de Consultation <input size="1" value="<?php echo $jours ?>" maxlength="2" disabled="" name="da"> <input size="2" value="<?php echo $moisys ?>" maxlength="3" disabled="" name="moi"> <input size="4" value="<?php echo $annees ?>" maxlength="4" disabled="" name="ans"> </td> <td colspan="2">1ere Visite <select name="vis"> <option>OUI</option> <option>NON</option> </select> Si non, Num enreg <input type="text" size="5" name="enreg"></td></tr> <?php $bach= strtoUpper($_POST['enreg']); echo $bach; ?> <tr><td>MODE PAIEMENT <select name="paiement"> <option>cheque</option> <option>espece</option> </select> </td> <td width="151"> </td> <td width="234"> Num de Quittance <input type="text" size="5" name="quit"></td> </tr></table> </blockquote> <?php //connection au serveur $cnx = mysql_connect( "localhost", "root", "" ) ; //sélection de la base de données: $db = mysql_select_db( "hospital" ) ; //récupération des valeurs des champs: $num=$_POST["enreg"]; $dateCons=$annees.$moisys.$jours; $quit=$_POST["quit"]; $vis=$_POST['vis']; $paiement=$_POST["paiement"]; //création de la requête SQL: $sql = "INSERT INTO consultation (numP, DateCons, numqui, previsite, modepaiement) VALUES ( '$num', '$dateCons', '$quit', '$vis','$paiement') " ; //exécution de la requête SQL: $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ; //affichage des résultats, pour savoir si l'insertion a marchée: if($requete) { echo("L'insertion a été correctement effectuée") ; } else { echo("L'insertion à échouée") ; } ?> <br> <blockquote> <center><h3> Etat Civil </h3></center> <p>Nom <input type="text" size="20" name="n"> Prenom <input type="text" size="20" name="p"> Date de Naiss <select name="jour"> <option >01</option> <option>02</option> <option >03</option> <option >04</option> <option >05</option> <option>06</option> <option >07</option> <option >08</option> <option >09</option> <option >10</option> <option >11</option> <option >12</option> <option >13</option> <option >14</option> <option >15</option> <option>16</option> <option >17</option> <option >18</option> <option >19</option> <option >20</option> <option >21</option> <option >22</option> <option >23</option> <option >24</option> <option >25</option> <option >26</option> <option >27</option> <option >28</option> <option >29</option> <option >30</option> <option >31</option> </select> <select name="mois"> <option >01</option> <option>02</option> <option >03</option> <option >04</option> <option >05</option> <option >06</option> <option >07</option> <option >08</option> <option >09</option> <option >10</option> <option >11</option> <option >12</option> </select> <select name="year"> <option >2021</option> <option >2020</option> <option >2019</option> <option >2018</option> <option >2017</option> <option>2016</option> <option >2014</option> <option >2013</option> <option >2012</option> <option >2011</option> <option >2010</option> <option >2009</option> <option >2008</option> <option >2007</option> <option>2006</option> <option >2005</option> <option >2004</option> <option>2003</option> <option >2002</option> <option >2001</option> <option >2000</option> <option>1999</option> <option >1998</option> <option >1997</option> <option >1996</option> <option>1995</option> <option >1994</option> <option >1993</option> <option >1992</option> <option >1991</option> <option >1990</option> <option >1989</option> <option >1988</option> <option >1987</option> <option >1986</option> <option >1985</option> <option >1984</option> <option>1983</option> <option >1982</option> <option >1981</option> <option>1980</option> <option >1982</option> <option >1981</option> <option>1980</option> <option >1979</option> <option >1978</option> <option >1977</option> <option >1976</option> <option >1975</option> <option>1974</option> <option >1973</option> <option >1972</option> <option >1971</option> <option >1970</option> </select> </p> <p>Age <input type="text" size="4" name="age" disabled="disabled"> Sexe <select name="sex" > <option >Masculin</option> <option >Feminin</option> </select> Adresse Habituelle<input type="text" size="50" name="adr"> </p> <p> Region <select name="region" > <option >Dakar</option> <option >Thies</option> <option >Matam</option> <option >Ziguinchor</option> <option >Kaolack</option> <option >Tamba</option> <option >St Louis</option> <option >Fatick</option> <option >Podor</option> <option >Autre</option> </select> Si autre <input type="text" size="15" name="oregion"> Ethnie <select name="e"> <option >Wolof</option> <option >Serere</option> <option >Diola</option> <option >Toucouleur</option> <option >Banbara</option> <option >Mandingue</option> <option >Autre</option> </select> Si autre <input type="text" size="15" name="oethnie"> </p> <p> Telephone ou Cellulaire <input type="text" size="20" name="tel"> Niveau d'instruction <select name="nivo"> <option >Absent</option> <option >Langue Nationale</option> <option >Primaire</option> <option >Secondaire</option> <option >Universitaire</option> </select> </p> <p> Profession <select name="pf"> <option >Autre</option> <option >Commercant</option> <option >Cultivateur</option> <option >Eleve,Etudiant</option> <option >Eleveur</option> <option >Enseignant</option> <option >Militaire</option> <option >Ouvrier</option> </select> Si autre <input type="text" size="15" name="op"> Statut Matrimonial <select name="sm"> <option >Celibataire</option> <option >Marie(e)</option> <option >Divorce(e)</option> <option >Veuf(ve)</option> </select> <center><input type="submit" value="VALIDER"></center> </blockquote> <br> <?php //connection au serveur $cnx = mysql_connect( "localhost", "root", "" ) ; //sélection de la base de données: $db = mysql_select_db( "hospital" ) ; //récupération des valeurs des champs: $num=$_POST["enreg"]; $n=$_POST["n"]; $p=$_POST["p"]; $year=$_POST["year"]; $mois=$_POST["mois"]; $jour=$_POST["jour"]; $date=$year.$mois.$jour; $age=$annees - $year; $region=$_POST["region"].'-'.$_POST["oregion"]; $sex=$_POST["sex"]; $adr=$_POST["adr"]; $ethnie=$_POST["ethnie"].'-'.$_POST["oethnie"]; $nivo=$_POST["nivo"]; $pfs=$_POST["pf"].'-'.$_POST["op"]; $tel=$_POST["tel"]; $sm=$_POST["sm"]; //création de la requête SQL: $sql1 = "INSERT INTO patient (numP,nomP, prenomP, age,date, sexe, adresse, region, telephone, ethnie, niveau_instruction, profession, statut_matrimonial) VALUES ( '$num','$n', '$p', '$age','$date', '$sex', '$adr', '$region', '$tel', '$ethnie', '$nivo', '$pfs', '$sm') " ; //exécution de la requête SQL: $requete1 = mysql_query($sql1, $cnx) or die( mysql_error() ) ; //affichage des résultats, pour savoir si l'insertion a marchée: if($requete1) { echo("L'insertion a été correctement effectuée") ; } else { echo("L'insertion à échouée") ; } ?> <br> </form>
il y a deux requetes INSERT car on fait sa deux tables
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
8 juil. 2009 à 21:26
8 juil. 2009 à 21:26
essaye avec
$sql = "INSERT INTO consultation (numP, DateCons, numqui, previsite, modepaiement)
VALUES ( ".$num.", ".$dateCons.", ".$quit.", ".$vis.",".$paiement.") " ;
ou
$sql = "INSERT INTO consultation (numP, DateCons, numqui, previsite, modepaiement)
VALUES ( `".$num."`, `".$dateCons."`, `".$quit."`, `".$vis."`,`".$paiement."`) " ;
Attention, dans le 2eme test c est bien un ` et pas ' :p
tient moi au jus :)
$sql = "INSERT INTO consultation (numP, DateCons, numqui, previsite, modepaiement)
VALUES ( ".$num.", ".$dateCons.", ".$quit.", ".$vis.",".$paiement.") " ;
ou
$sql = "INSERT INTO consultation (numP, DateCons, numqui, previsite, modepaiement)
VALUES ( `".$num."`, `".$dateCons."`, `".$quit."`, `".$vis."`,`".$paiement."`) " ;
Attention, dans le 2eme test c est bien un ` et pas ' :p
tient moi au jus :)
merci pour les codes mais aucune des deux requetes ne passent
pour la premiere on a cette erreur(You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 20090709, , ,)' at line 2)
pour la deuxieme on a sa (Unknown column '' in 'field list')
pour la premiere on a cette erreur(You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 20090709, , ,)' at line 2)
pour la deuxieme on a sa (Unknown column '' in 'field list')
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
9 juil. 2009 à 08:17
9 juil. 2009 à 08:17
oulala, j etais fatigué hier soir....
$sql = "INSERT INTO consultation (`numP`, `DateCons`, `numqui`, `previsite`, `modepaiement`)
VALUES ( '".$num."', '".$dateCons."', '".$quit."', '".$vis."','".$paiement."') " ;
attention il y a 3 guillemets Values ( ' ".$num." ' .... mais il ne faut pas mettre les espaces ;)
essai donc ca ;)
$sql = "INSERT INTO consultation (`numP`, `DateCons`, `numqui`, `previsite`, `modepaiement`)
VALUES ( '".$num."', '".$dateCons."', '".$quit."', '".$vis."','".$paiement."') " ;
attention il y a 3 guillemets Values ( ' ".$num." ' .... mais il ne faut pas mettre les espaces ;)
essai donc ca ;)
merci le code que tu m'as passe mais le problème c'est que NumP et DateCons forment une clé primaire pour la table Consultation des que j'ouvre la page il fait un enregistrement dont les valeurs pour la clé primaire sont 0 et 0000-00-00 . Maintenant si je ferme la page et la réouvre il va essayer de faire cet enregistrement 0 et 0000-00-00 ce qui n'est pas possible car la clé primaire doit être unique c'est pourquoi il me signale que la clé primaire ne peut pas dupliquer.
Comment faire pour qu'il n'enregistre pas les valeurs 0 pour NumP et 0000-00-00 pour DateCons?
Comment faire pour qu'il n'enregistre pas les valeurs 0 pour NumP et 0000-00-00 pour DateCons?
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
9 juil. 2009 à 14:24
9 juil. 2009 à 14:24
fait un test avant ta requete pour savoir si NumP et DateCons ne sont pas null alors
genre :
if isset($num) and isset($dateCons) {
INSERT ...
}
genre :
if isset($num) and isset($dateCons) {
INSERT ...
}
j'ai mis la condition mais il y a toujours cet enregistrement. A
Aurais tu une autre idée pour m'aider a résoudre mon problème?
Merci quand même pour l'aide que tu me fournis pour avancer
Aurais tu une autre idée pour m'aider a résoudre mon problème?
Merci quand même pour l'aide que tu me fournis pour avancer
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
9 juil. 2009 à 15:55
9 juil. 2009 à 15:55
As tu mis la condition avant tes 2 insert ??
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
10 juil. 2009 à 10:12
10 juil. 2009 à 10:12
et ben voila pourkoi il le fait qd meme ;)
met la condition sur les 2 ;)
met la condition sur les 2 ;)
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
10 juil. 2009 à 16:42
10 juil. 2009 à 16:42
ok, met ton post en résolu :)