PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-10-2011 01:07:37

msi79
Membre
Inscription : 11-08-2011
Messages : 25

duplication de données dans ma base de donnée

salut.
j'ai 3 tables :
deplacé,enfant,tuteur
- 1 u tuteur heberge 1 ou n deplacé
- déplacé peut avoir 0 ou n enfants
la clé de tuteur migre de la table deplacé
la clé de deplacé migre dans la table enfants
pour les clé primaires j'ai mi auto-increment  sauf pour celle qu migrent dans les autres tables
j'ai fait  le code PHP . j'arrive a faire les insertion mais ce que je remarque c'est que les données sont dupliquées plusieurs fois
voici mon code PHP :

<?php
$date = date("d-m-Y");
$heure = date("H:i");
echo 'Nous sommes le '.$date.' et il est '.$heure;
?>
<?php
$enfant1 = (isset($_POST['enfant1'])) ? mysql_real_escape_string($_POST['enfant1']) : NULL;
if (isset($_POST["valider"])) {
   
    $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"]);
  if (empty($questionnaire)) {
    $msg="<font color=red>Veuillez saisir votre nom et et le numero de votre parent !!!!!!!!!</font>";
  }
  else {
      //include"connection.php";
      mysql_connect("localhost","root","") or die("erreur de connexion");
      mysql_select_db("lesvictimes") or die("Erreur de selection de la BD");
     
    $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>';
$id_tuteur = mysql_insert_id();
 
     
     
      $sql="INSERT INTO victime(questionnaire,nom,prenom,datnaiss,lieunaiss,secteur,nationalite,zone,ethnie,sexe,situation,religion,piece,npiece,autrepiece,postale,nompere,prenompere,nommere,prenommere,tel,cel) values('".$questionnaire."','".$nom."','".$prenom."','".$datnaiss."','".$lieunaiss."','".$secteur."','".$nationalite."','".$zone."','".$ethnie."','".$sexe."','".$situation."','".$religion."','".$piece."','".$npiece."','".$autrepiece."','".$postale."','".$nompere."','".$prenompere."','".$nommere."','".$prenommere."','".$tel."','".$cel."')";
      $result=mysql_query($sql);  }
    if ($result) {
      echo 'Les informations sur la victime ont été ajoutées dans la base de données.</br>';
    }
    else {
      echo "pas d' informations sur la victime ajoutée dans la base de données.</br>";
    }
 
  //mysql_close();  // on ferme la connexion
}
  $matricule = mysql_insert_id();
 
    $sql = "INSERT INTO enfant(id_enfant, enfant1, enfant2, enfant3,enfant4,enfant5,enfant6,enfant7,enfant8,enfant9,enfant10) VALUES('','$_POST[enfant1]','$_POST[enfant2]','$_POST[enfant3]','$_POST[enfant4]','$_POST[enfant5]','$_POST[enfant6]','$_POST[enfant7]','$_POST[enfant8]','$_POST[enfant9]','$_POST[enfant10]')";
   
    // 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 enfants ont été ajoutées dans la base de données.</br>';

?>

Dernière modification par msi79 (08-10-2011 01:09:19)

Hors ligne

#2 09-10-2011 12:54:46

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : duplication de données dans ma base de donnée

salut,

peut tu être plus clair sur le problème ? (avec des exemples de données par exemple)

$sql = "INSERT INTO tuteur(id_tuteur, nomtuteur, prenomtuteur, teltuteur,celtuteur) VALUES('','$_POST[nomtuteur]','$_POST[prenomtuteur]','$_POST[teltuteur]','$_POST[celtuteur]')";

la t'a un problème il faut délimiter les index de post !

$sql = "INSERT INTO tuteur(id_tuteur, nomtuteur, prenomtuteur, teltuteur,celtuteur) VALUES('','{$_POST['nomtuteur']}','{$_POST['prenomtuteur']}','{$_POST['teltuteur']}','{$_POST['celtuteur']')"; devrait aller un peux mieux smile

mysql_real_escape_string est à utiliser sur toutes les valeurs issues de $_POST (au pire une titre fonction de derrière les fagot avec array_walk le fera a ta place).

A priori tu n'a pas de doublon dans les requetes.

Tu peux afficher les $sql avant les mysql_query histoire de suivre le déroulement smile

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#3 09-10-2011 13:02:36

msi79
Membre
Inscription : 11-08-2011
Messages : 25

Re : duplication de données dans ma base de donnée

oui j'ai rectifié ca : mais a nouveau un autre problème.

je veux inserrer la partie agent (qui correspond a la table agent) dans mon code php.
kans je l'ajoute le navigateur n'affiche plus rien mais quand je l'enlève le navigateur affiche de nouveau mon formulaire . et la encore un autre blème depuis la creation de la table agent : plus d'insertion dans ma table victime . je comprend pas la: voici mon code:

<?php
$date = date("d-m-Y");
$heure = date("H:i");
echo 'Nous sommes le '.$date.' et il est '.$heure;
?>
<?php
//$enfant1 = (isset($_POST['enfant1'])) ? mysql_real_escape_string($_POST['enfant1']) : NULL;
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"]);
  if (empty($questionnaire)) {
    $msg="<font color=red>Veuillez saisir votre nom et et le numero de votre parent !!!!!!!!!</font>";
  }
  else {
      //include"connection.php";
      mysql_connect("localhost","root","") or die("erreur de connexion");
      mysql_select_db("lesvictimes") or die("Erreur de selection de la BD");
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
     
    $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();
//exit();
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   
printf("Le dernier ID inséré dans est le id %d\n", 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,tuteur_sid,agent_sid)
VALUES('','".$questionnaire."','".$nom."','".$prenom."','".$datnaiss."','".$lieunaiss."','".$secteur."','".$nationalite."','".$zone."','".$ethnie."','".$sexe."','".$situation."','".$religion."','".$piece."','".$npiece."','".$autrepiece."','".$postale."','".$nompere."','".$prenompere."','".$nommere."','".$prenommere."','".$tel."','".$cel."','".$tuteur_sid."','".$agent_sid."')";
      $result=mysql_query($sql);  }
    if ($result) {
      echo 'Les informations sur la victime ont été ajoutées dans la base de données.</br>';
    }
    else {
      echo "pas d' informations sur la victime ajoutée dans la base de données.</br>";
    }
 
  //mysql_close();  // on ferme la connexion
}

$matricule = mysql_insert_id();
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    
     
      // INSERSION DES AGENTS.
      $sql = "INSERT INTO agent(idag,agentcol,chef,agentcod,operateur,agentval,agentcor,dateagent)
      //ALUES('','$_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 enfantt(ide, nom1, lien1, age1,etat1,niveau1,nationalite1,ethnie1,religion1,activite1,occupation1,bcg1,polio1,fievre1,rougeole1,deparasitage1,meningite1,matricule) VALUES('','$_POST[nom]','$_POST[lien]','$_POST[age]','$_POST[etat]','$_POST[niveau]','$_POST[nationalite]','$_POST[ethnie]','$_POST[religion]','$_POST[activite]','$_POST[occupation]','$_POST[bcg]','$_POST[polio]','$_POST[fievre]','$_POST[rougeole]','$_POST[deparasitage]','$_POST[meningite]','$_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>';
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


?>

Hors ligne

Pied de page des forums