Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Résolus
Formulaire avec plusieurs valeurs (JSON)
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Paul GTP" data-source="post: 7416498" data-attributes="member: 315249"><p>Finalement ça ne fonctionnait pas, du coup on a fait autrement. PDO est pas prévu pour gérer les arrays, du coup on a un peu feinté</p><p>Je laisse des commentaires à chaque ligne pour ceux qui voudraient comprendre le code...</p><p>[CODE]</p><p>$in = str_repeat('?,', count($data->badges) - 1) . '?'; // On crée un "?" pour chaque badge qui existe</p><p>$query = "DELETE FROM user_badges WHERE user_id = ? AND badge_id IN ({$in})"; // On prépare la requête en y insérant le bon nombre de paramètres à binder</p><p>$params = array_merge(</p><p> [$id],</p><p> $data->badges</p><p>); // On créé le tableau de paramètres qu'on va binder avec en premier le user_id et en deuxième la liste des badges en concaténant 2 tableaux (le tableau des badges et un tableau contenant l'id de l'utilisateur)</p><p></p><p>// On prépare et exécute notre requête avec les éléments ci-dessus</p><p>$deleteBadges = $db->prepare($query);</p><p>$deleteBadges->execute($params);</p><p>[/CODE]</p></blockquote><p></p>
[QUOTE="Paul GTP, post: 7416498, member: 315249"] Finalement ça ne fonctionnait pas, du coup on a fait autrement. PDO est pas prévu pour gérer les arrays, du coup on a un peu feinté Je laisse des commentaires à chaque ligne pour ceux qui voudraient comprendre le code... [CODE] $in = str_repeat('?,', count($data->badges) - 1) . '?'; // On crée un "?" pour chaque badge qui existe $query = "DELETE FROM user_badges WHERE user_id = ? AND badge_id IN ({$in})"; // On prépare la requête en y insérant le bon nombre de paramètres à binder $params = array_merge( [$id], $data->badges ); // On créé le tableau de paramètres qu'on va binder avec en premier le user_id et en deuxième la liste des badges en concaténant 2 tableaux (le tableau des badges et un tableau contenant l'id de l'utilisateur) // On prépare et exécute notre requête avec les éléments ci-dessus $deleteBadges = $db->prepare($query); $deleteBadges->execute($params); [/CODE] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Résolus
Formulaire avec plusieurs valeurs (JSON)
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut