Boucle Insert ?!! en php [Résolu]

Signaler
Messages postés
23
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
9 mai 2021
-
Messages postés
23
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
9 mai 2021
-
Bonjour,

j'ai un variable qui envoie un array du type 42,45,56,55 ...
separer avec des virgules, je veut insert ses données dans ma bdd (
id_user
id_ch
name
)
le array seront insert dans la colonne id_ch

je voulu essayer
php explode(',',$variable)

sa marche mais sa insert que 42 une fois.
Je veux qu'elle insert autant de fois qu'il de array.
je voulais faire avec un boocle foreach mais je sais pas si c'est une bonne idée

Merci a vous d'avance.

Configuration: Windows / Chrome 90.0.4430.93

2 réponses

Messages postés
32966
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 juin 2021
3 558
Bonjour
Tu as mis une boucle ?
Et oui, avec l'explode ca devrait être bon.
Messages postés
23
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
9 mai 2021

Non je me demande si ce une bonne idée d'executer envoyer autant de fois de data dans la bdd
Messages postés
32966
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 juin 2021
3 558 >
Messages postés
23
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
9 mai 2021

Tu peux simplement faire une boucle pour construire la requête
Messages postés
23
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
9 mai 2021

Voila ce que je fait ça marche

extract($_POST);

$all_val = explode(",", $values);


$q = $db->prepare("INSERT INTO all_grequest(
  id_user, id_ch, name, created_at
)VALUES(:id_user, :id_ch, :name, NOW())");

foreach($all_val as $value) {
  $value = trim($value);
  var_dump($value);

  $q->execute([
    'id_user' => $_SESSION['user_id'],
    'id_ch' => $value,
    'name' => "request_"
  ]);
}