Flux d’activité
Flux d’activité de Messages
-
-
Toujours la même erreur (voir plus haut).
Pour récapituler, je voudrais qu'il me compte dans la table peel_commande_articles le nombre d'occurences de chaque produit (afin de compter le nombre de ventes) puis de les classer par ordre decroissant.
Seulement je voudrais aussi afficher quelques autres informations contenus dans la table peel_produits. Il me faudrait donc, à partir de la premiere requete (qu'avait fourni Willy en début de topic) pour retrouver les infos du produit dans la table peel_produits.
D'où l'espèce de test avec left join (ou sans ^^)...
-
cela marche t'il ?
En effet
$sql = "SELECT oi.count (*) as count , p.id , p.nom , p.prix FROM peel_commandes_articles oi, peel_produits p WHERE oi.produit_id = p.id GROUP BY produit_id ORDER BY count DESC LIMIT 10";
Marcherait aussi bien à mon avis
-
Ben je n'arrive pas à créer une seconde requête qui recoupe la première... Dans ma tête un LEFT JOIN était plus clair. Après je peux évidement me tromper, et d'ailleurs c'est ce que j'ai fait ! :)
En tout cas, ca ne marche pas puisqu'il me renvoit cette erreur, à chaque fois :
"Erreur SQL !
SELECT oi.count (*) as count , p.id , p.nom , p.prix FROM peel_commandes_articles oi LEFT JOIN peel_produits p ON (oi.produit_id = p.id) GROUP BY oi.produit_id ORDER BY count DESC LIMIT 10
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(*) as count , p.id , p.nom"
-
à vrai dire je n'en sais rien, c'etait l'ancienne facon de programmer, je n'ai rien contre, je la lis et comprend, j'ai juste modifié ce qui etait proposé.
-
-
c'est tout simple, tu ne gere ni la couleur, ni le millesime dans ta table produit pour une version shopping...
$sql = "SELECT oi.count (*) as count , p.id , p.nom , p.prix FROM peel_commandes_articles oi LEFT JOIN peel_produits p ON (oi.produit_id = p.id) GROUP BY oi.produit_id ORDER BY count DESC LIMIT 10";
-
Sur ce que j'ai expliqué juste au dessus de ton post :)
Sur la requête SQL pour afficher les meilleures ventes... J'ai tenté d'en faire une à partir de ce que Willy m'a indiqué, mais erreur de syntaxe, et mon niveau est bien trop bas pour me dépatouiller tout seul.
Voilà la requête :
$sql = "SELECT oi.count (*) as count , p.id , p.millesime , p.nom , p.prix , p.couleur FROM peel_commandes_articles oi LEFT JOIN peel_produits p ON (oi.produit_id = p.id) GROUP BY produit_id ORDER BY count DESC LIMIT 10"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
-
-
-
Oui, comme je travaille sur Shopping, le template n'est pas présent et c'est pourquoi, ne pouvant pas appliquer la solution de noya_m, j'ai tenté de la faire à ma sauce...
Et je bloque.
-
juste un soucis, je viens de télécharger la derniere version de peel shopping pour vérifier...
Il n'y a pas de dossier template dans modeles.
Ou as tu vu ce dossier dans la version shopping (je rapelle à mon lecteur que nous sommes dans la partie shopping)
j'ai manqué une étape?
-
Bonjour,
Je reviens à la charge avec cette page !
J'ai tenté moult fois de réussir à formuler la bonne requête SQL en vain. Je pensais avec ce que vous m'avez donné Willy, pouvoir faire une seule et même requête avec LEFT JOIN... Mais je me trompe sans cesse dans la syntaxe.
Pouvez vous m'aider à corriger ce ptit bout de code ?
Le voici :
$sql = "SELECT oi.count (*) as count , p.id , p.millesime , p.nom , p.prix , p.couleur FROM peel_commandes_articles oi LEFT JOIN peel_produits p ON (oi.produit_id = p.id) GROUP BY produit_id ORDER BY count DESC LIMIT 10"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); //Début de boucle while( $sortie = mysql_fetch_array($req)) { //Affichage de chaque ligne pour chaque produit echo "<tr bgcolor='"; if($o==1) { echo "#ECECEC"; $o++; } else { echo "#FFFFFF"; $o=1; } echo "'> <th class=\"catalogue\">$sortie[millesime]</th> <th class=\"catalogue\"><font color=#993333><b>"; ?> <a href="<?echo $wwwroot?>/achat/produit_details.php?id=<?=$sortie['id'] ?>&catid=<?=$catid?>"><?echo stripslashes($sortie['nom']) ?> <? echo "</a></b></font></th> <th class=\"catalogue\">$sortie[aoc]</th> <th class=\"catalogue\"><b>$sortie[couleur]</th> <th class=\"catalogue\">$sortie[prix] €</th> </tr>"; }
Le problème est donc dans la requête, qui est archi fausse....
-
Effectivement il y'avait une erreur je confirme motif faite par Willy c'est OK sa fonctionne :)
-
-
Chechez la page où la personne commande les cadeaux avec ses points et utilisez la fonction "mail", une recherche dans les pages template ou fonctions et vous aurez des exemples d'utilisation.
Willy
-
-
Bonjour,
qd un client choisit de prendre un cadeau avec ses points, pourait-on avoir un email afin d'aviser l'administrateur, car actu personne ne sait s'il une personne prend un Kdo
merci a vous
-
-
-
-
Bonjour,
voila la solution proposée par moi-même et testée par jeremy.
Ce correctif permet d'ajouter plusieurs chèques cadeau pour plusieurs personnes différentes.
D'origine, les chèques cadeau ne s'ont ajoutés que pour une personne, car le produit est ajouté au panier et reconnu comme étant déja présent dès le second cheque cadeau.
dans la page achat/caddie_ajout remplacer:
if (!in_array($_REQUEST['id'], $_SESSION['caddie']->articles)) { #- Si le produit n'est pas dans le caddie
Par:if (!in_array($_REQUEST['id'], $_SESSION['caddie']->articles) || $prod['on_check'] == 1 ) { #- Si le produit n'est pas dans le caddie ou est un cheque cadeau
Willy
-
Bonjour,
voila la solution proposée par moi-même et testée par jeremy:
dans la page achat/caddie_ajout remplacer:
if (!in_array($_REQUEST['id'], $_SESSION['caddie']->articles)) { #- Si le produit n'est pas dans le caddie
Par:if (!in_array($_REQUEST['id'], $_SESSION['caddie']->articles) || $prod['on_check'] == 1 ) { #- Si le produit n'est pas dans le caddie ou est un cheque cadeau
Willy
-
Alors:
ligne 52 remplacez :
template_index_produit($prod['id']);
Par:template_index_produit($prod['produit_id'],$where = " ", $form = "special");
En effet dans ta requete sql tu ramennes le produit_id et non id et ensuite il te manquait 2 parametres dans l'appel à ta fonction :)
Dis nous si c'est OK.
Willy
-
Je ne pense pas.
Sur Prenium je n'en ais pas vu alors sur Shopping :)
Mais c'est simple, une personne commande un cheque cadeau et l'offre a une autre personne.
La personne n°2 passe uen commande sur ton site et le montant du cheque cadeau sera déduit du total de sa commande.
Willy
Création d'une page "Meilleures Ventes"
dans PEEL SHOPPING : logiciel open source de boutique en ligne
Willy
Posté(e) · Signaler ce message
Et ca ?