Page 1 sur 1

php boucle insert

Posté : 05 nov. 2014, 12:16
par Alix
Bonjour à tous,

j'ai un petit tableau et l'idée de l'enregistrement principale
$tab = array()
$idmainfiche = mysql_insert_id();
dans mon tableau j'ai
    [0] => toto
    [1] => titi
    [2] => tata
Est il possible de réaliser un insert avec les données du tableau genre :

$sql ="INSERT INTO fiche (id,id_ficheprincipale,id_fiche,nom) VALUES('',$idmainfiche,[0],'toto')";
$sql ="INSERT INTO fiche (id,id_ficheprincipale,id_fiche,nom) VALUES('',$idmainfiche,[1],'titi')";
$sql ="INSERT INTO fiche (id,id_ficheprincipale,id_fiche,nom) VALUES('',$idmainfiche,[2],'tata')";

Merci d'avance pour vos solutions ou conseils

Re: php boucle insert

Posté : 05 nov. 2014, 12:22
par Aureusms
Il faut mieux faire un insert multiple en une seule ligne

Dans ton cas :
<?php
$array = (0=> "toto", 1 => "titi", 2 => "tata");

$sql = "INSERT INTO fiche (id,id_ficheprincipale,id_fiche,nom) VALUES";
foreach ($array as $id => $values) :
  $sql .= "('',$idmainfiche,$id,$values),";
endforeach;
$sql = substr ($sql,0,-1); //on enlève la dernière virgule

echo $sql;
?>

Re: php boucle insert

Posté : 05 nov. 2014, 12:33
par Alix
Merci mais le truc c'est que dans ma base de donnée c'est deux tables séparées.

Est ce quand même possible?

Re: php boucle insert

Posté : 05 nov. 2014, 12:34
par Alix
Oups je me suis trompé je vais essayer.

Ne pas tenir en compte mon dernier message

Re: php boucle insert

Posté : 05 nov. 2014, 12:49
par Alix
J'ai fait quelques tests mais ça ne marche pas
à la fin tu mets juste
$sql = substr ($sql,0,-1); //on enlève la dernière virgule

echo $sql;

Il ne manque pas une connection à la BDD ou un myslq_query?

Merci quand même tu m'a bien aidé

Re: php boucle insert

Posté : 05 nov. 2014, 20:34
par Aureusms
Bine sûr qu'il faut la connexion à la base de donnée et permettre d'exécuter la requête mais je ne peux pas te fournir de code (vu que tu ne le fournit pas...)