Flux d’activité

Flux d’activité de Messages

  1. Riskbreaker


    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 ^^)...

  2. Riskbreaker


    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"

  3. Riskbreaker


    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());

  4. Riskbreaker


    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....

  5. Willy


    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

  6. 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

Twitter Advisto ecommerce

Facebook PEEL Shopping