Menu

Afficher le resultat de ma requête avec pdo [Résolu]

aldofkr 33 Messages postés mardi 25 février 2014Date d'inscription 18 décembre 2017 Dernière intervention - 2 oct. 2017 à 15:53 - Dernière réponse : aldofkr 33 Messages postés mardi 25 février 2014Date d'inscription 18 décembre 2017 Dernière intervention
- 2 oct. 2017 à 17:31
Bonjour chers ami,

j'ai un soucis avec mon code. d'abord je vous le presente
<?php
$id=array_keys($_SESSION['panier']);
var_dump($id);
$req=$pdo->prepare('SELECT * FROM produits WHERE id = :id ');
$req->execute(array(':id'=>implode(',',$id)));
$p=$req->fetchAll();
var_dump($p);
?>


EDIT : Ajout des balises de code (jordane)

je précise qu'il marche, mais ne me donne pas ce que je veux vraiment. en effet, ma requête doit me donner des produits et ses caractéristiques. pour cela, j'ai fait de sorte qu'il recupère l'id des éléments à rechercher et pour l'utiliser dans ma requête et j'ai aussi utilisé la fonction 'implode()' , mais il retourne seulement le premier produit. pourtant je veux qu'il me retourne tous les produits selectionnés.

bésoin d'aide pour debugger mon code. merci d'avance
Afficher la suite 

Votre réponse

2 réponses

jordane45 21697 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 20 juillet 2018 Dernière intervention - 2 oct. 2017 à 16:26
0
Merci
Bonjour,

Si ta variable $_SESSION['panier'] contient plusieurs ID ... ce n'est pas un "=" que tu dois utiliser dans ta requête .... mais un IN

Par exemple :

//preparation de la requete
$ids=join("','",array_keys($_SESSION['panier']));
$sql = "SELECT * FROM produits WHERE id IN('".$ids."')";

//execution de la requête
try{
  $req=$pdo->prepare($sql);
  $req->execute();
  $p=$req->fetchAll();
}catch(Exception $e){
   echo "Erreur : ".$e->getMessage();
}

//affichage
if(!empty($p)){
  var_dump($p);
}



Au passage ... merci d'appliquer ceci :
http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

.
aldofkr 33 Messages postés mardi 25 février 2014Date d'inscription 18 décembre 2017 Dernière intervention - 2 oct. 2017 à 17:31
ça fonctionne à merveille. merci Jordanne45 pour ta disponibilité
Commenter la réponse de jordane45