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

aldofkr 26 Messages postés mardi 25 février 2014Date d'inscription 22 novembre 2017 Dernière intervention - 2 oct. 2017 à 15:53 - Dernière réponse : aldofkr 26 Messages postés mardi 25 février 2014Date d'inscription 22 novembre 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 

2 réponses

Répondre au sujet
jordane45 19250 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 15 décembre 2017 Dernière intervention - 2 oct. 2017 à 16:26
0
Utile
1
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 26 Messages postés mardi 25 février 2014Date d'inscription 22 novembre 2017 Dernière intervention - 2 oct. 2017 à 17:31
ça fonctionne à merveille. merci Jordanne45 pour ta disponibilité
Commenter la réponse de jordane45