Erreur sql . pas d'insersion dans ma bd
msi79
Messages postés
537
Statut
Membre
-
msi79 Messages postés 537 Statut Membre -
msi79 Messages postés 537 Statut Membre -
salut j'ai 5 tables liées entre elles par les clé primaires et étrangère . j'ai un problème pour l'insertion de données dans ma bd.
j'ai les tables :
victimes
agent
tuteur
enfant
conjoint
pour victimes ,agent,tuteur les insertion sont effectives
par contre pour enfant et conjoint pas d'insertion dans les tables .
j'ai cherché partout. j'ai eu des pistes mais j'ai pas pu les exploiter. alors je viens vers vous pour de l'aide . svp je galère déjà depuis 2 semaine.
voici ce qui m'est affiché comme erreur:
Erreur SQL !INSERT INTO enfant VALUES('','coulibaly sarha precilia','Enfts......3','AGE','ETAT MATRIMONIAL','NIVEAU D INSTRUCTION','ivoirienne.......1','ETHNIE','RELIGION','SECTEUR D ACTIVITE','OCCUPATION PRINCIPALE','pas BCG','pas DT COQ POLIO +HB','pas FIEVRE JAUNE','pas ROUGEOLE','DEPARASITAGE','CHOISIR','','')
Cannot add or update a child row: a foreign key constraint fails ('victimes'.'enfant', CONSTRAINT 'enfant_ibfk_1' FOREIGN KEY ('matri_enf') REFERENCES 'victime' ('matricule'))
voici mon code :
j'ai les tables :
victimes
agent
tuteur
enfant
conjoint
pour victimes ,agent,tuteur les insertion sont effectives
par contre pour enfant et conjoint pas d'insertion dans les tables .
j'ai cherché partout. j'ai eu des pistes mais j'ai pas pu les exploiter. alors je viens vers vous pour de l'aide . svp je galère déjà depuis 2 semaine.
voici ce qui m'est affiché comme erreur:
Erreur SQL !INSERT INTO enfant VALUES('','coulibaly sarha precilia','Enfts......3','AGE','ETAT MATRIMONIAL','NIVEAU D INSTRUCTION','ivoirienne.......1','ETHNIE','RELIGION','SECTEUR D ACTIVITE','OCCUPATION PRINCIPALE','pas BCG','pas DT COQ POLIO +HB','pas FIEVRE JAUNE','pas ROUGEOLE','DEPARASITAGE','CHOISIR','','')
Cannot add or update a child row: a foreign key constraint fails ('victimes'.'enfant', CONSTRAINT 'enfant_ibfk_1' FOREIGN KEY ('matri_enf') REFERENCES 'victime' ('matricule'))
voici mon code :
$sql="INSERT INTO victime(matricule,questionnaire,nom,prenom,datnaiss,lieunaiss,secteur,nationalite,zone,ethnie,sexe,situation,religion,piece,npiece,autrepiece,postale,nompere,prenompere,nommere,prenommere,tel,cel,agent_sid,tuteur_sid) VALUES('".$matricule."','".$questionnaire."','".$nom."','".$prenom."','".$datnaiss."','".$lieunaiss."','".$secteur."','".$nationalite."','".$zone."','".$ethnie."','".$sexe."','".$situation."','".$religion."','".$piece."','".$npiece."','".$autrepiece."','".$postale."','".$nompere."','".$prenompere."','".$nommere."','".$prenommere."','".$tel."','".$cel."','".$agent_sid."','".$tuteur_sid."')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur les victimes ont été ajoutées dans la base de données.</br>';
// mysql_query("SELECT LAST_INSERT_ID() FROM ;") or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$matricule= mysql_insert_id();
$sql = "INSERT INTO enfant VALUES('','{$_POST[nom1]}','{$_POST[lien1]}','{$_POST[age1]}','{$_POST[etat1]}','{$_POST[niveau1]}','{$_POST[nationalite1]}','{$_POST[ethnie1]}','{$_POST[religion1]}','{$_POST[activite1]}','{$_POST[occupation1]}','{$_POST[bcg1]}','{$_POST[polio1]}','{$_POST[fievre1]}','{$_POST[rougeole1]}','{$_POST[deparasitage1]}','{$_POST[meningite1]}','','{$_POST[matricule]}')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur le premier enfant ont été ajoutées dans la base de données.</br>';
A voir également:
- Erreur sql . pas d'insersion dans ma bd
- Erreur lors de l'enregistrement du contact - Forum Xiaomi
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur upes 1025 - Forum Téléviseurs
12 réponses
bonjour,
d'après l'erreur tu as un problème de contrainte de clé étrangère, vérifie que la valeur insérée à matri_enf existe dans la table victime (matricule)
d'après l'erreur tu as un problème de contrainte de clé étrangère, vérifie que la valeur insérée à matri_enf existe dans la table victime (matricule)
merci deja pour ta disponibilité pour moi .
mais je suis vraiment debutant en php .
comment faire pour verifier la valeur insérée à matri_enf existe dans la table victime (matricule) .
mais je suis vraiment debutant en php .
comment faire pour verifier la valeur insérée à matri_enf existe dans la table victime (matricule) .
en vériter je sais comment t'aider parce que je sais pas très bien à quoi ressemble ta base de données.
mais pour tester tu peux facilement compter les enregistrement pour voire si tel ou tel valeur existe dans une table.
ex:
mais pour tester tu peux facilement compter les enregistrement pour voire si tel ou tel valeur existe dans une table.
ex:
$query="select count(*) from table where champs='".$valeurachercher."';";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if($row[0]>0){
$query="insert into ....
//code pour inserer tes données.
}
j'ai inserré la partie que tu m'a conseillée .et j'ai cette erreur :
Erreur SQL !INSERT INTO info(id_info,agef,niveauf,activitef,occupationf,ret,incitationf,extraitf,regionf,departementf,prefecturef,communef,villef,structuref,npiecef,santef,nbrepdgif,problemef,piececours,expirationf,enceintef,pkquitte,priorite1,priorite2,priorite3,acceptef,conditionf,docadm) VALUES('','21','','SECTEUR D'ACTIVITE','OCCUPATION PRINCIPALE','','INCITATION A NE PAS Y RETOURNER','EXTRAIT ENFANTS','REGION','ABIDJAN','BASSAM','ADJAMA','ABIDJAN','DE QUI/QUEL STRUCTURE RECEVOUS DE L'AIDE','N PIECE HAITUEL','PROBLEME DE SANTE','COMBIEN DE PDGi','QUELS SONT VOS PRBLME ?','PIECES D'IDENTITE EN COURS DE VALIDITE','','GROUPE VUNERABLE','POURQUOI AVOIR QUITTE','PRIORITE1','PRIORITE2','PRIORITE3','PENSEZ-VOUS AVOIR ETE BIEN ACCEPTE','QUE PERCEVEZ-VOUS DE VOS CONDITIONS','')
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 'ACTIVITE','OCCUPATION PRINCIPALE','','INCITATION A NE PAS Y RETOURNER','EXTRAIT ' at line 1
Erreur SQL !INSERT INTO info(id_info,agef,niveauf,activitef,occupationf,ret,incitationf,extraitf,regionf,departementf,prefecturef,communef,villef,structuref,npiecef,santef,nbrepdgif,problemef,piececours,expirationf,enceintef,pkquitte,priorite1,priorite2,priorite3,acceptef,conditionf,docadm) VALUES('','21','','SECTEUR D'ACTIVITE','OCCUPATION PRINCIPALE','','INCITATION A NE PAS Y RETOURNER','EXTRAIT ENFANTS','REGION','ABIDJAN','BASSAM','ADJAMA','ABIDJAN','DE QUI/QUEL STRUCTURE RECEVOUS DE L'AIDE','N PIECE HAITUEL','PROBLEME DE SANTE','COMBIEN DE PDGi','QUELS SONT VOS PRBLME ?','PIECES D'IDENTITE EN COURS DE VALIDITE','','GROUPE VUNERABLE','POURQUOI AVOIR QUITTE','PRIORITE1','PRIORITE2','PRIORITE3','PENSEZ-VOUS AVOIR ETE BIEN ACCEPTE','QUE PERCEVEZ-VOUS DE VOS CONDITIONS','')
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 'ACTIVITE','OCCUPATION PRINCIPALE','','INCITATION A NE PAS Y RETOURNER','EXTRAIT ' at line 1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour,
tu as une erreur la VALUES('','21','','SECTEUR D'ACTIVITE','OCCUPATION PRINCIPAL...
essaie VALUES('','21','','SECTEUR D\'ACTIVITE','OCCUPATION PRINCIPAL...
When there is a will, there is a way
tu as une erreur la VALUES('','21','','SECTEUR D'ACTIVITE','OCCUPATION PRINCIPAL...
essaie VALUES('','21','','SECTEUR D\'ACTIVITE','OCCUPATION PRINCIPAL...
When there is a will, there is a way
comme je t'ai expliquer un peu en bas il faut utiliser mysql_real_escape_string() pour préparer ta requête:
$secteuractivite=mysql_real_escape_string($secteuractivite);
$query="insert int info(...,secteuractivite,...) values(....,'$secteuractivite',...);
la fonction mysql_real_escape_string se chargera d'ajouter les antislash devant les charactéres spéciaux.
$secteuractivite=mysql_real_escape_string($secteuractivite);
$query="insert int info(...,secteuractivite,...) values(....,'$secteuractivite',...);
la fonction mysql_real_escape_string se chargera d'ajouter les antislash devant les charactéres spéciaux.
voici ma requette . je vois pas ou se trouve l'erreur :
$sql = "INSERT INTO info(id_info,agef,niveauf,activitef,occupationf,ret,incitationf,extraitf,regionf,departementf,prefecturef,communef,villef,structuref,npiecef,santef,nbrepdgif,problemef,piececours,expirationf,enceintef,pkquitte,priorite1,priorite2,priorite3,acceptef,conditionf,docadm) VALUES('','{$_POST[agef]}','{$_POST[niveauf]}','{$_POST[activitef]}','{$_POST[occupationf]}','{$_POST[ret]}','{$_POST[incitationf]}','{$_POST[extraitf]}','{$_POST[regionf]}','{$_POST[departementf]}','{$_POST[prefecturef]}','{$_POST[communef]}','{$_POST[villef]}','{$_POST[structuref]}','{$_POST[npiecef]}','{$_POST[santef]}','{$_POST[nbrepdgif]}','{$_POST[problemef]}','{$_POST[piececours]}','{$_POST[expirationf]}','{$_POST[enceintef]}','{$_POST[pkquitte]}','{$_POST[priorite1]}','{$_POST[priorite2]}','{$_POST[priorite3]}','{$_POST[acceptef]}','{$_POST[conditionf]}','{$_POST[docadm]}')";
$sql = "INSERT INTO info(id_info,agef,niveauf,activitef,occupationf,ret,incitationf,extraitf,regionf,departementf,prefecturef,communef,villef,structuref,npiecef,santef,nbrepdgif,problemef,piececours,expirationf,enceintef,pkquitte,priorite1,priorite2,priorite3,acceptef,conditionf,docadm) VALUES('','{$_POST[agef]}','{$_POST[niveauf]}','{$_POST[activitef]}','{$_POST[occupationf]}','{$_POST[ret]}','{$_POST[incitationf]}','{$_POST[extraitf]}','{$_POST[regionf]}','{$_POST[departementf]}','{$_POST[prefecturef]}','{$_POST[communef]}','{$_POST[villef]}','{$_POST[structuref]}','{$_POST[npiecef]}','{$_POST[santef]}','{$_POST[nbrepdgif]}','{$_POST[problemef]}','{$_POST[piececours]}','{$_POST[expirationf]}','{$_POST[enceintef]}','{$_POST[pkquitte]}','{$_POST[priorite1]}','{$_POST[priorite2]}','{$_POST[priorite3]}','{$_POST[acceptef]}','{$_POST[conditionf]}','{$_POST[docadm]}')";
merci j'ai corrigé comme tu me l'a conseillé. il n'y a plus d'erreur dans mon inert.
mais le pr0blème majeur demeure.
j'ai 6 tables :
agent
conjoint
vctime
enfant
tuteur
info
l'insertion se passe bien pour toutes les tables sauf pour conjoint et enfant .
je remarque que pour toutes les clés secondaires qui ont migrées dans victime tout se passe bien mais par contre
il y a probleme au niveau de INSERT dans les tables conjoint et enfant car la cle elles reçoivent les clés étrangères qui font references a victmes.
je sais pas si je me fait bien comprendre.
par exemple dans la table enfant on a (id_enfant,...,matri_enf)
matri_enf fait reference a matricule (clé primaire de victime)
voici mon code :
mais le pr0blème majeur demeure.
j'ai 6 tables :
agent
conjoint
vctime
enfant
tuteur
info
l'insertion se passe bien pour toutes les tables sauf pour conjoint et enfant .
je remarque que pour toutes les clés secondaires qui ont migrées dans victime tout se passe bien mais par contre
il y a probleme au niveau de INSERT dans les tables conjoint et enfant car la cle elles reçoivent les clés étrangères qui font references a victmes.
je sais pas si je me fait bien comprendre.
par exemple dans la table enfant on a (id_enfant,...,matri_enf)
matri_enf fait reference a matricule (clé primaire de victime)
voici mon code :
<?php
$date = date("d-m-Y");
$heure = date("H:i");
echo 'Nous sommes le '.$date.' et il est '.$heure;
?>
<?php
if (isset($_POST["valider"])) {
//$matricule=trim($_POST["matricule"])
$questionnaire=trim($_POST["questionnaire"]);
$nom=trim($_POST["nom"]);
$prenom=trim($_POST["prenom"]);
$datnaiss=trim($_POST["datnaiss"]);
$lieunaiss=trim($_POST["lieunaiss"]);
$secteur=trim($_POST["secteur"]);
$nationalite=trim($_POST["nationalite"]);
$zone=trim($_POST["zone"]);
$ethnie=trim($_POST["ethnie"]);
$sexe=trim($_POST["sexe"]);
$situation=trim($_POST["situation"]);
$religion=trim($_POST["religion"]);
$piece=trim($_POST["piece"]);
$npiece=trim($_POST["npiece"]);
$autrepiece=trim($_POST["autrepiece"]);
$postale=trim($_POST["postale"]);
$nompere=trim($_POST["nompere"]);
$prenompere=trim($_POST["prenompere"]);
$nommere=trim($_POST["nommere"]);
$prenommere=trim($_POST["prenommere"]);
$tel=trim($_POST["tel"]);
$cel=trim($_POST["cel"]);
//$agent_sid=trim($_POST["agent_sid"]);
//$tuteur_sid=trim($_POST["tuteur_sid"]);
if (empty($questionnaire)) {
$msg="<font color=red>Veuillez saisir le numero du questionnaire!!!!!!!!!</font>";
}
else {
mysql_connect("localhost","root","") or die("erreur de connexion");
mysql_select_db("victimes") or die("Erreur de selection de la BD");
$sql = "INSERT INTO agent(id_agent,agentcol,chef,agentcod,operateur,agentval,agentcor,dateagent)
VALUES('','{$_POST[agentcol]}','{$_POST[ chef]}','{$_POST[agentcod]}','{$_POST[operateur]}','{$_POST[agentval]}','{$_POST[agentcor]}','{$_POST[dateagent]}')";
//on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur les agents ont été ajoutées dans la base de données.</br>';
$agent_sid= mysql_insert_id();
$sql = "INSERT INTO tuteur(id_tuteur,nomtuteur,prenomtuteur,teltuteur,celtuteur)
VALUES('','{$_POST[nomtuteur]}','{$_POST[prenomtuteur]}','{$_POST[teltuteur]}','{$_POST[celtuteur]}')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur le tuteur ont été ajoutées dans la base de données.</br>';
$tuteur_sid = mysql_insert_id();
$sql = "INSERT INTO info(id_info,agef,niveauf,activitef,occupationf,ret,incitationf,extraitf,regionf,departementf,prefecturef,communef,villef,structuref,npiecef,santef,nbrepdgif,problemef,piececours,expirationf,enceintef,pkquitte,priorite1,priorite2,priorite3,acceptef,conditionf,docadm) VALUES('','{$_POST[agef]}','{$_POST[niveauf]}','{$_POST[activitef]}','{$_POST[occupationf]}','{$_POST[ret]}','{$_POST[incitationf]}','{$_POST[extraitf]}','{$_POST[regionf]}','{$_POST[departementf]}','{$_POST[prefecturef]}','{$_POST[communef]}','{$_POST[villef]}','{$_POST[structuref]}','{$_POST[npiecef]}','{$_POST[santef]}','{$_POST[nbrepdgif]}','{$_POST[problemef]}','{$_POST[piececours]}','{$_POST[expirationf]}','{$_POST[enceintef]}','{$_POST[pkquitte]}','{$_POST[priorite1]}','{$_POST[priorite2]}','{$_POST[priorite3]}','{$_POST[acceptef]}','{$_POST[conditionf]}','{$_POST[docadm]}')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations supplémentaire sur la victime ont été ajoutées dans la base de données.</br>';
$info_sid = mysql_insert_id();
$sql="INSERT INTO victime(matricule,questionnaire,nom,prenom,datnaiss,lieunaiss,secteur,nationalite,zone,ethnie,sexe,situation,religion,piece,npiece,autrepiece,postale,nompere,prenompere,nommere,prenommere,tel,cel,agent_sid,tuteur_sid,info_sid) VALUES('".$matricule."','".$questionnaire."','".$nom."','".$prenom."','".$datnaiss."','".$lieunaiss."','".$secteur."','".$nationalite."','".$zone."','".$ethnie."','".$sexe."','".$situation."','".$religion."','".$piece."','".$npiece."','".$autrepiece."','".$postale."','".$nompere."','".$prenompere."','".$nommere."','".$prenommere."','".$tel."','".$cel."','".$agent_sid."','".$tuteur_sid."','".$info_sid."')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur les victimes ont été ajoutées dans la base de données.</br>';
$query="select count(*) from victime where champs='".$matricule."';";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if($row[0]>0){
// $query="insert into ....
//code pour inserer tes données.
//$matricule = lastInsertid();
$sql = "INSERT INTO enfant (id_enfant,nom1,lien1,age1,etat1,niveau1,nationalite1,ethnie1,religion1,activite1,occupation1,bcg1,polio1,fievre1,rougeole1,deparasitage1,meningite1,matri_enf,matricule) VALUES('','{$_POST[nom1]}','{$_POST[lien1]}','{$_POST[age1]}','{$_POST[etat1]}','{$_POST[niveau1]}','{$_POST[nationalite1]}','{$_POST[ethnie1]}','{$_POST[religion1]}','{$_POST[activite1]}','{$_POST[occupation1]}','{$_POST[bcg1]}','{$_POST[polio1]}','{$_POST[fievre1]}','{$_POST[rougeole1]}','{$_POST[deparasitage1]}','{$_POST[meningite1]}','$_POST[matri_enf]','{$_POST[matricule]}')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur le premier enfant ont été ajoutées dans la base de données.</br>';
}
//$sql = "INSERT INTO enfant(id_enfant, nom1, lien1, age1,etat1,niveau1,nationalite1,ethnie1,religion1,activite1,occupation1,bcg1,polio1,fievre1,rougeole1,deparasitage1,meningite1,matri_enf) VALUES('','{$_POST[nom1]}','{$_POST[lien1]}','{$_POST[age1]}','{$_POST[etat1]}','{$_POST[niveau1]}','{$_POST[nationalite1]}','{$_POST[ethnie1]}','{$_POST[religion1]}','{$_POST[activite1]}','{$_POST[occupation1]}','{$_POST[bcg1]}','{$_POST[polio1]}','{$_POST[fievre1]}','{$_POST[rougeole1]}','{$_POST[deparasitage1]}','{$_POST[meningite1]}','{$_POST[matri_enf]}')";
// on insère les informations du formulaire dans la table
// mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
//echo 'Les informations sur le premier enfant ont été ajoutées dans la base de données.</br>';
//$id_conjoint = mysql_insert_id();
//$sql = "INSERT INTO conjoint(id_conjoint, nomc, lienc, agec,etatc,niveauc,nationalitec,ethniec,religionc,activitec,occupationc,bcgc,polioc,fievrec,rougeolec,deparasitagec,meningitec,mati_conjoint) VALUES('','{$_POST[nomc]}','{$_POST[lienc]}','{$_POST[agec]}','{$_POST[etatc]}','{$_POST[niveauc]}','{$_POST[nationalitec]}','{$_POST[ethniec]}','{$_POST[religionc]}','{$_POST[activitec]}','{$_POST[occupationc]}','{$_POST[bcgc]}','{$_POST[polioc]}','{$_POST[fievrec]}','{$_POST[rougeolec]}','{$_POST[deparasitagec]}','{$_POST[meningitec]}','$_POST[mati_conjoint]')";
// on insère les informations du formulaire dans la table
// mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// echo 'Les informations sur votre conjoint ont été ajoutées dans la base de données.</br>';
}
}
?>
bonjour,
pour commencer il y a un grand risque d'injection en mettant $situation=trim($_POST["situation"]); il faut utiliser la fonction mysql_real_escape_string().
pour revenir au sujet de ta demande, tu dois bien comprendre qu'il y a ce qu'on appelle dépendance fonctionnelle, pour simplifier les choses je te donne un exemple traditionel.
un client peut faire des commandes, mais on peut pas ajouter des commandes à un client unexistant alors avant de passer une commande on cherche si un client existe ou pas si oui on ajoute la commande sinon on affiche un message d'erreur 'Client unexistant' et biensur on fait cela avant de commencer toute la procedure d'insertion et pas à la fin ou au milieu...
voilà j'espère que ceci vous aide.
bon courage.
When there is a will, there is a way
pour commencer il y a un grand risque d'injection en mettant $situation=trim($_POST["situation"]); il faut utiliser la fonction mysql_real_escape_string().
pour revenir au sujet de ta demande, tu dois bien comprendre qu'il y a ce qu'on appelle dépendance fonctionnelle, pour simplifier les choses je te donne un exemple traditionel.
un client peut faire des commandes, mais on peut pas ajouter des commandes à un client unexistant alors avant de passer une commande on cherche si un client existe ou pas si oui on ajoute la commande sinon on affiche un message d'erreur 'Client unexistant' et biensur on fait cela avant de commencer toute la procedure d'insertion et pas à la fin ou au milieu...
voilà j'espère que ceci vous aide.
bon courage.
When there is a will, there is a way
merci de bien vouloir m'aider j'essaie de comprendre mais c'est un peu flou juste parce que je suis débutant en php.
si je comprend bien je dois utiliser ca :
$query="select count(*) from table where champs='".$valeurachercher."';";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if($row[0]>0){
$query="insert into ....
//code pour inserer tes données.
}
au debut .
mais mon problème se situe au niveai du passage de victime à enfant . c'est la que ça bloque.
alors explique en prenant mon code comme exemple afin que je comprenne.
si je comprend bien je dois utiliser ca :
$query="select count(*) from table where champs='".$valeurachercher."';";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if($row[0]>0){
$query="insert into ....
//code pour inserer tes données.
}
au debut .
mais mon problème se situe au niveai du passage de victime à enfant . c'est la que ça bloque.
alors explique en prenant mon code comme exemple afin que je comprenne.
pour être bref avec toi tu as une contrainte foreign key sur ces deux tables:
enfant (id_enfant,nom1,lien1,age1,etat1,niveau1,nationalite1,ethnie1,religion1,activite1,occupation1,bcg1,polio1,fievre1,rougeole1,deparasitage1,meningite1,matri_enf,#matricule)
victime(matricule,questionnaire,nom,prenom,datnaiss,lieunaiss,secteur,nationalite,zone,ethnie,sexe,situation,religion,piece,npiece,autrepiece,postale,nompere,prenompere,nommere,prenommere,tel,cel,agent_sid,tuteur_sid,info_sid)
ça veut dire que lorsque tu veux inserer un enregistrement à la table enfant le serveur cherche la valeur que tu comptes inserer dans le champ matricule de la table enfant si elle exist dans le champ matricule de la table victime et si il ne la trouve pas l'opération sera annuler par cette contrainte c'est ça son role,
et de ma part je voix que cette solution:
enfant (id_enfant,nom1,lien1,age1,etat1,niveau1,nationalite1,ethnie1,religion1,activite1,occupation1,bcg1,polio1,fievre1,rougeole1,deparasitage1,meningite1,matri_enf,#matricule)
victime(matricule,questionnaire,nom,prenom,datnaiss,lieunaiss,secteur,nationalite,zone,ethnie,sexe,situation,religion,piece,npiece,autrepiece,postale,nompere,prenompere,nommere,prenommere,tel,cel,agent_sid,tuteur_sid,info_sid)
ça veut dire que lorsque tu veux inserer un enregistrement à la table enfant le serveur cherche la valeur que tu comptes inserer dans le champ matricule de la table enfant si elle exist dans le champ matricule de la table victime et si il ne la trouve pas l'opération sera annuler par cette contrainte c'est ça son role,
et de ma part je voix que cette solution:
$query="select count(*) from table where champs='".$valeurachercher."';";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if($row[0]>0){
$query="insert into ....
//code pour inserer tes données.
} else{
echo"Un message d'erreur";
}
donc j'insere
$query="select count(*) from table where champs='".$valeurachercher."';";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if($row[0]>0){
$query="insert into ....
//code pour inserer tes données.
} else{
echo"Un message d'erreur";
}
jiuste apres INSERT INTO victime
je veux savoir a quel niveau ou a quel moment l'inserrer et l'amenager a ma guise
$query="select count(*) from table where champs='".$valeurachercher."';";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if($row[0]>0){
$query="insert into ....
//code pour inserer tes données.
} else{
echo"Un message d'erreur";
}
jiuste apres INSERT INTO victime
je veux savoir a quel niveau ou a quel moment l'inserrer et l'amenager a ma guise
pour resumer donc je fais comme ca.
NB. matri_enf fait reference à matricule
NB. matri_enf fait reference à matricule
.
.
.
.
.
$sql="INSERT INTO victime(matricule,questionnaire,nom,prenom,datnaiss,lieunaiss,secteur,nationalite,zone,ethnie,sexe,situation,religion,piece,npiece,autrepiece,postale,nompere,prenompere,nommere,prenommere,tel,cel,agent_sid,tuteur_sid,info_sid) VALUES('".$matricule."','".$questionnaire."','".$nom."','".$prenom."','".$datnaiss."','".$lieunaiss."','".$secteur."','".$nationalite."','".$zone."','".$ethnie."','".$sexe."','".$situation."','".$religion."','".$piece."','".$npiece."','".$autrepiece."','".$postale."','".$nompere."','".$prenompere."','".$nommere."','".$prenommere."','".$tel."','".$cel."','".$agent_sid."','".$tuteur_sid."','".$info_sid."')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur les victimes ont été ajoutées dans la base de données.</br>';
$query="select count(*) from victime where champs='".$matricule."';";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if($row[0]>0){
$sql = "INSERT INTO enfant( id_enfant,nom1,lien1,age1,etat1,niveau1,nationalite1,ethnie1,religion1,activite1,occupation1,bcg1,polio1,fievre1,rougeole1,deparasitage1,meningite1,matri_enf) VALUES('','{$_POST[matricule]}','{$_POST[nom1]}','{$_POST[lien1]}','{$_POST[age1]}','{$_POST[etat1]}','{$_POST[niveau1]}','{$_POST[nationalite1]}','{$_POST[ethnie1]}','{$_POST[religion1]}','{$_POST[activite1]}','{$_POST[occupation1]}','{$_POST[bcg1]}','{$_POST[polio1]}','{$_POST[fievre1]}','{$_POST[rougeole1]}','{$_POST[deparasitage1]}','{$_POST[meningite1]}','{$_POST[matri_enf]}')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur le premier enfant ont été ajoutées dans la base de données.</br>';
//code pour inserer tes données.
} else{
echo"Un message d'erreur";
}
.
..
..
.
j'espere que je te fatique pas merci d'etre la pour nous les debutant
voici ce que je viens de faire mais ca marche toujours pas :
j'ai enlevé la table enfant . je fais le test avec la table conjoint mais en m'inspirant de tes conseil
mais j'ai toujours pas d'insertion dans la table conjoint
NB:
mati_conjoint fait reference a matricule (victime
voici ce que je viens de faire mais ca marche toujours pas :
j'ai enlevé la table enfant . je fais le test avec la table conjoint mais en m'inspirant de tes conseil
mais j'ai toujours pas d'insertion dans la table conjoint
NB:
mati_conjoint fait reference a matricule (victime
.
.
.
.
.
$sql="INSERT INTO victime(matricule,questionnaire,nom,prenom,datnaiss,lieunaiss,secteur,nationalite,zone,ethnie,sexe,situation,religion,piece,npiece,autrepiece,postale,nompere,prenompere,nommere,prenommere,tel,cel,agent_sid,tuteur_sid,info_sid) VALUES('".$matricule."','".$questionnaire."','".$nom."','".$prenom."','".$datnaiss."','".$lieunaiss."','".$secteur."','".$nationalite."','".$zone."','".$ethnie."','".$sexe."','".$situation."','".$religion."','".$piece."','".$npiece."','".$autrepiece."','".$postale."','".$nompere."','".$prenompere."','".$nommere."','".$prenommere."','".$tel."','".$cel."','".$agent_sid."','".$tuteur_sid."','".$info_sid."')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur les victimes ont été ajoutées dans la base de données.</br>';
$query="select count(*) from victime where champs='".$matricule."';";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if($row[0]>0){
$sql = "INSERT INTO conjoint(id_conjoint, nomc, lienc, agec,etatc,niveauc,nationalitec,ethniec,religionc,activitec,occupationc,bcgc,polioc,fievrec,rougeolec,deparasitagec,meningitec,mati_conjoint) VALUES('','{$_POST[nomc]}','{$_POST[lienc]}','{$_POST[agec]}','{$_POST[etatc]}','{$_POST[niveauc]}','{$_POST[nationalitec]}','{$_POST[ethniec]}','{$_POST[religionc]}','{$_POST[activitec]}','{$_POST[occupationc]}','{$_POST[bcgc]}','{$_POST[polioc]}','{$_POST[fievrec]}','{$_POST[rougeolec]}','{$_POST[deparasitagec]}','{$_POST[meningitec]}','$_POST[mati_conjoint]')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Les informations sur votre conjoint ont été ajoutées dans la base de données.
.
.
.
.
</br>';