hulk Posted March 23, 2011 Share Posted March 23, 2011 Bonjour a tousje cherche a faire une requête sql pour récupère une liste des produits vendus en ventes croisées et qui ne sont pas misent au panier mais j'arrive pas a comparer ma variable avec un tableau (array). voici le code : // On recupere les produits du panier $products = $cart->getProducts(); $panier = array(); foreach($products as $product) { array_push($panier, $product['id_product']); } $cross = Db::getInstance()->ExecuteS(' SELECT p.id_product, pl.name, ... FROM '._DB_PREFIX_.'product p ......................... WHERE ........ AND cs.id_product NOT IN ('.$product['id_product'].') '); $cart->update(); $smarty->assign(array( 'cro_pdt' => $cross, )); cette reqête fonctionne pour un seul produit c a d la comparaison cs.id_product NOT IN ('.$product['id_product'].') ce fait pour le dernier id_product seulement et moi je veux que ce soit pour tous les id contenu dans le tableau $paniermerci Link to comment Share on other sites More sharing options...
coeos.pro Posted March 23, 2011 Share Posted March 23, 2011 Bonjour, en premier je mettrais des ` exemple : SELECT p.`id_product`, pl.`name`, ... ensuite je testerais cette requête directement sous Mysql en général il indique d’où viens l'erreur si il y en a uneC'est pas plutôt $products au lieu de $product ? EDIT : non finalement c'est $panier : cs.id_product NOT IN ('.$panier.') Link to comment Share on other sites More sharing options...
hulk Posted March 23, 2011 Author Share Posted March 23, 2011 la requête sans la dernière condition marche nickel mais le problème c'est le syntaxe de comparer une variable a un array dans la requête sql qui me pose un problème cs.id_product NOT IN ('.$panier.') ça marche pas Link to comment Share on other sites More sharing options...
coeos.pro Posted March 23, 2011 Share Posted March 23, 2011 ca marche pas ? teste sous mysql, tu verra si tu as un message d'erreur ou si il a marqué (en vert) : "aucun résultat retourné" Link to comment Share on other sites More sharing options...
hulk Posted March 23, 2011 Author Share Posted March 23, 2011 j'ai testé directement sous mysql , et ça me retourne toujours un seul produits. toujours le derniers produits ajouté au panier, on dirait que la dernière condition de ma requête neparcours pas la totalité de mon array $panierok j'ai réglé mon problème avec cette ligne cs.id_product NOT IN (' . implode(', ', $panier) . ') merci Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now