Insérer plusieurs ligne avec 1 INSERT INTO

Résolu
Lucryio Messages postés 206 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonsoir,

je viens vers vous car, là, j'ai un souci que je ne trouve pas de solution depuis ce midi.

Alors voila j'aimerais faire une requête qui insert une ligne dans ma bdd MAIS autant de fois que ma variable (qui défini le nombre) le veux.

Voici ma requete à transformer :

$sql = $bdd->exec("INSERT INTO membres_objets VALUES('','".$_POST['ID']."','".$_POST['obj']."')");


et la variable qui contien le nombre de fois à entrer est :
$pri2


voila si quelqu'un à une solution je suis preneur.

Merci par avance.

1 réponse

jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention   4 751
 
Bonjour,

voili voilou ...
// Récupétion "propre" des variables AVANT de les utiliser
$id = isset($_POST['ID']) ? $_POST['ID'] : NULL;
$obj = isset($_POST['obj']) ? $_POST['obj'] : NULL;

//Préparation de la requête
// On places les valeurs dans un array
$arr_values = array();
for($i=1;$i<=$pri2;$i++){
$arr_values[] ="('','$id','$obj')";
}
//on transforme l'array en String séparé par une virgule
$values = join(",",$arr_values);

//exécution de la requête
$sql = "INSERT INTO membres_objets VALUES $values";
$sql = $bdd->exec($sql);


Mais.. bon.. ça me semble étrange de vouloir faire ça........


0
Lucryio Messages postés 206 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup tous est fonctionnel.

En faite si tu veux c'est un don qu'un membre peux faire avec choix du nombre donc il faut le retirer à ce membre qui donne pour en donner autant au membre qui reçoit donc voila pourquoi j'avais besoin de faire ce genre de manip.

En tous cas, merci beaucoup.
0
jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention   4 751 > Lucryio Messages postés 206 Date d'inscription   Statut Membre Dernière intervention  
 
Ca reste tout de même farfelu...
Pourquoi ne pas simplement, dans ta table, incrémenter ( ou décrémenter) une variable ???
De cette façon... chacun de tes users n'aura qu'une seule ligne dans la table.....
0