PHP + BDD + foreach
Résolu
DAG
-
DAG -
DAG -
Bonjour,
Je voudrais prendre toutes es données d'un champs d'une table se trouvant dans une base de données et les mettre dans le champs d'une autre base de données.... Ceci afin de créer une base de données de référence. bref, voici le code :
while ($data = mysql_fetch_array($req))
{
$data[NOMUSUEL];
foreach($data as $values)
{
$statement2 = "INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('$values');";
$req2 = mysql_query($statement2) or die('<br>Erreur base de donnée !<br>'.$statement2.'<br>'.mysql_error());
}
}
J'aimerais savoir pourquoi il me renvois les données en double ? Par exemple si je trouve un nom "DUPOND", il va me mettre 2 DUPOND dans la base...
Je pensais que le foreach dans le while ne l'aurai pas faire tourner deux fois sur lui même.
Savez vous comment résoudre le problème ?
Merci d'avance.
Je voudrais prendre toutes es données d'un champs d'une table se trouvant dans une base de données et les mettre dans le champs d'une autre base de données.... Ceci afin de créer une base de données de référence. bref, voici le code :
while ($data = mysql_fetch_array($req))
{
$data[NOMUSUEL];
foreach($data as $values)
{
$statement2 = "INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('$values');";
$req2 = mysql_query($statement2) or die('<br>Erreur base de donnée !<br>'.$statement2.'<br>'.mysql_error());
}
}
J'aimerais savoir pourquoi il me renvois les données en double ? Par exemple si je trouve un nom "DUPOND", il va me mettre 2 DUPOND dans la base...
Je pensais que le foreach dans le while ne l'aurai pas faire tourner deux fois sur lui même.
Savez vous comment résoudre le problème ?
Merci d'avance.
A voir également:
- PHP + BDD + foreach
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
C'est tout con, je me répond à moi même :
Je suis vraiment trop mauvais...
while ($data = mysql_fetch_array($req)) { $statement2 = "INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('$data[NOMUSUEL]');"; echo $statement2 . "<br>"; }
Je suis vraiment trop mauvais...
En gros je fais ça :
Et le résultat c'est ça :
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('titi');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('tata');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('tutu');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('toto');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('');
$statement1 = "SELECT NOMUSUEL FROM testphp.tabletampon_rh_file"; $req = mysql_query($statement1) or die('<br>Erreur base de donnée !<br>'.$statement1.'<br>'.mysql_error()); $data = mysql_fetch_array($req); while ($data = mysql_fetch_array($req)) { $data[NOMUSUEL] = $var; foreach($data as $values) { $statement2 = "INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('$values');"; echo $statement2."<br>"; //$req2 = mysql_query($statement2) or die('<br>Erreur base de donnée !<br>'.$statement2.'<br>'.mysql_error()); } } mysql_free_result ($req); mysql_close ();
Et le résultat c'est ça :
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('titi');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('tata');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('tutu');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('toto');
INSERT INTO refdb.OUVRANT_DROIT(NOM_OD) values ('');