Riskbreaker

Utilisateur open source
  • Compteur de contenus

    31
  • Inscrit(e) le

  • Dernière visite


Tout ce qui a été posté par Riskbreaker

  1. Riskbreaker a ajouté un message dans un sujet  Correctif pour le pb des pages suivantes dans /administrer/produits.php   

    Bonjour,

    Ayant remarqué que le petit moteur de rechercher figurant sur la page produit.php ne marchait pas, j'ai essayé d'appliquer le correctif cité.
    Seulement maintenant j'arrive à cette erreur (ou plutôt ce screen, car aucune erreur n'est signalée), la suite de la page ne s'affiche pas :

    Je n'arrive pas à cerner l'erreur...
    Je précise que je tourne sur peel 2.9.3 et que je n'ai aps ajouté la fonction de stock, donc j'ai supprimé toutes les données s'y rapportant.

    Voilà, si quelqu'un peut m'aider ...

    Ah et comme je voulais que le moteur de recherche cherche par nom et non pas par référence, j'ai changé la ligne correspondante aussi.

    Merci d'avance ;)

    EDIT !

    Désolé, je n'avais pas fait gaffe, il manquait la fonction "construit_select_cat" à ajouter dans mon fichier fonction.php....

    La page s'affiche correctement maintenant, mais le formulaire de recherche de produit ne marche toujours pas chez moi ;)
    • 0
  2. Riskbreaker a ajouté un message dans un sujet  Module recherche   

    Dans ce topic, nous avons traité de cette question, et on y a apporté une réponse (comment casser une recherche en plusieurs variables afin de faire une recherche sur plusieurs champs) :

    http://forum.peel.fr/index.php?showtopic=1394
    • 0
  3. Riskbreaker a ajouté un message dans un sujet  Présentation de ma boutique   

    Sympa le design, très propre et très épuré. <_<
    Dans la lignée de ce que j'ai pu voir avec ton autre boutique, j'aime beaucoup, même si à mon sens, il manque quelques détails pour une meilleure ergonomie (sur cette boutique, pas l'autre).

    Bonne continuation 3DVF !!
    • 0
  4. Riskbreaker a ajouté un message dans un sujet  [Moteur de recherche]   

    Je précise avant de publier le code de la page, que la méthode de recherche affiche les résultats sous forme de tableau et de lignes... C'est donc différent de l'original.
    Pour voir comment cela rend, rendez vous ici : http://chateaupartner.com/index.html et faites une recherche avec "michel" par exemple (pas encore rentré les produits définitifs =p).
    Ou alors, regardez dans n'importe quelle rubrique comme "meilleures ventes", etc... Tout est affiché de la même manière.

    Voici donc ma page recherche.php :


    <?
    include("../configuration.inc.php");
    $DOC_TITLE = "Chateau Partner - Recherche";
    include("$repertoire_modele/haut.php");
    ?>
    <table border="0" cellpadding="1" cellspacing="4" width="100%">
    <tr>
    <td class="titre" colspan="2">
    <table cellpadding="0" cellspacing="0" border="0" >
    <tr><td class="tetiere" align="center" >Recherche</td></tr>
    </table>
    <p></p>
    <p></p>
    Résultat de votre recherche
    </tr>
    <tr>
    <td colspan="2" height="20"><img src="<?=$wwwroot?>/images/blank.gif" height="20" alt="" /></td>
    </tr>

    <?
    if(!isset($start)) {$start=0;}

    $recherche=strtolower($motclef); //on passe en minuscule
    $mots = str_replace("+", " ", trim($recherche)); //on remplace les + par des espaces
    $mots = str_replace("\"", " ", $mots); //idem pour \
    $mots = str_replace(",", " ", $mots); //idem pour ,
    $mots = str_replace(":", " ", $mots); //idem pour :
    $recherche=rawurlencode($recherche); //on encode la recherche

    $tab=explode(" " , $mots);
    $count=count($tab);

    $sql="select * from peel_produits where etat='1' and ( nom like \"%$tab[0]%\" or reference like \"%$tab[0]%\" or millesime like \"%$tab[0]%\" ) ";

    for($i=1 ; $i<$count; $i++)
    {
    $sql.="AND ( nom like \"%$tab[$i]%\" or reference like \"%$tab[$i]%\" or millesime like \"%$tab[$i]%\" )";
    }


    // On met dans une variable le nombre de vins qu'on veut par page
    $nombreDeVinsParPage = 20;

    // On récupère le nombre total de vins
    $req = mysql_query($sql);
    $totalDesVins = mysql_numrows($req);

    // On calcule le nombre de pages à créer
    $nombreDePages = ceil($totalDesVins / $nombreDeVinsParPage);



    ?>

    </p>

    <?php

    // on affiche les vins

    if (isset($_GET['page']))
    {
    $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse
    }
    else // La variable n'existe pas, c'est la première fois qu'on charge la page
    {
    $page = 1; // On se met sur la page 1 (par défaut)
    }


    // On calcule le numéro du premier vin qu'on prend pour le LIMIT de MySQL
    $premierVinAafficher = ($page - 1) * $nombreDeVinsParPage;

    $reponse = mysql_query( "$sql ORDER BY nom LIMIT $premierVinAafficher , $nombreDeVinsParPage") or die(mysql_error());


    // fin de la requete

    if (mysql_num_rows($reponse) == 0) //compteur de resultats
    {

    echo "<tr><td colspan=\"2\" class=\"normal\">Nous n'avons pas trouvé de résultats incluant le mot clé <b>". stripslashes($_GET['recherche']) ."</b>.<p></p><b>Suggestions :</b><br /><li type=\"square\"> Vérifiez l’orthographe du mot clé.<br /><li type=\"square\"> Essayez d'autres mots.<br /><li type=square> Utilisez des mots plus généraux.<p></p><a href=\"$wwwroot/catalogue.php\" class=\"normal\"><b>Cliquez ici</b></a> pour consulter directement notre catalogue.</td></tr>";

    }
    else
    {
    ?>

    <tr bgcolor="#eeeeee">
    <td class="label">Appellation</td>
    <td class="label">Château</td>
    <td class="label">Millésime</td>
    <td class="label">Prix € TTC</td>
    </tr>
    <?

    $o=0;

    while($sortie=mysql_fetch_array($reponse))
    {

    echo " <tr>
    <td class=\"normal\">$sortie[reference]</td>
    <td class=\"normal\">";
    ?>

    <a href="<?echo $wwwroot?>/achat/produit-details-<?=$sortie['id'] ?>-<?=$catid?>.htm"><?echo stripslashes($sortie['nom']) ?>

    <?
    echo " </a></td>
    <td class=\"normal\">$sortie[millesime]</td>
    <td class=\"normal\">$sortie[prix] €</td>
    </tr>";

    } // fin de boucle

    echo "<tr><td>";
    // Puis on fait une boucle pour écrire les liens vers chacune des pages
    echo 'Page : ';
    for ($i = 1 ; $i <= $nombreDePages ; $i++)
    {
    echo ' - <a href="?motclef='.$_GET[motclef].'&page=' . $i . '">' . $i . '</a>';
    }
    echo "</tr></td>";
    }
    ?>
    </td></tr>

    </table>
    <?
    include("$repertoire_modele/bas.php");
    ?>
    [/codebox]

    J'espère que vous vous y retrouverez ... ;)
    • 0
  5. Riskbreaker a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne   

    [Moteur de recherche]
    Bonjour,

    J'avais remarqué que lorsque deux mots clefs sont insérés dans le champ de recherche de haut.php, ces deux mots doivent obligatoirement figurer dans le même champ d'une table pour être appelés.

    Se posait alors un gros problème.
    Exemple :
    vous voulez ajouter 3 produits : voiture rouge, voiture bleue et voiture verte.
    Le terme "voiture" figurant dans le champ "nom" et la couleur dans un champ "couleur" que vous auriez créé auparavant.
    Une recherche avec le terme voiture vous aurait affiché les 3 réponses possibles alors qu'une recherche comme "voiture rouge" ne vous aurait renvoyé aucun résultat.

    J'ai donc travaillé un peu sur ce problème, et je vous donne ici la solution :

    Dans recherche.php,

    remplacez :


    Par :


    et



    Par



    L'astuce se déroule ainsi :
    1 - on met en minuscule les termes entrés dans le formulaire
    2 - on remplace tous les caractères '+', '\', ',' et ':' par un espace.
    3 - on place les différents mots dans un tableau grâce à la fonction "explode".
    4 - Pour chaque terme entré, on regarde s'il se situe dans les champs "reference" ou "nom"
    5 - on renvoie la requête.

    Voilà, en espérant vous avoir été utile ;)
    • 7 réponses
    • 5 670 vues
  6. Riskbreaker a ajouté un message dans un sujet  [Moteur de recherche]   

    Exact, je m'étais trompé dans la 2e partie à changer. J'ai modifié mon post initial, mais il faudrait tester pour être sûr (je ne peux pas, car j'ai changé trop de choses pour pouvoir le faire...).

    Donc je récapitule ce qu'il faudrait tester :

    Remplacer :



    Par :



    Tenez moi au courant, au pire des cas, je vous donnerai ma page recherche.php qui fonctionne sans erreur (en fait, j'ai modifié le code pour l'affichage des liens 'page précédente' et 'page suivante').
    • 0
  7. Riskbreaker a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne   

    Module de recherche sur les clients
    Bonjour,

    Depuis quelques jours j'essaie d'integrer à la partie admin dans la rubrique "utilisateurs" un petit module de recherche permettant d'afficher les clients en fonction de plusieurs critères de recherche (comme le nom, le prénom, quelques caractéristiques du produit, la catégorie, etc...)
    L'interêt est pour la newsletter : pouvoir récupérer les noms de clients susceptibles d'être interressés par telle ou telle offre.

    J'ai donc essayé dintroduire un petit module comme pour la page "administrer/produits.php"

    La requête affiche bien les clients qui ont acheté un produit, mais ne prend pas en compte les critères de recherche...
    Si une âme chartible pouvait m'aider à résoudre ce petit problème....

    Voici le petit module de recherche et sa requête. (je vous passe le code du formulaire qui est très simple à faire) :



    Alors voilà, je ne comprends pas qu'il ne prenne pas en compte mes critères et qu'il m'affiche toujours toute la liste des clients ayant passé une commande....
    • 1 réponse
    • 1 916 vues
  8. Riskbreaker a ajouté un message dans un sujet  dans fonction.php, lors de reception de mail de commande   

    Bonjour,

    J'ai appliqué ton morceau de code jcdhl et il marche très bien. Seulement moi aussi, je voudrais afficher les coordonnées de l'acheteur dans le mail.
    Toutes les coordonnées s'affichent correctement sauf l'adresse de livraison et le mode de paiement.

    Logique puisque ces deux données ne font pas partie des deux tables utilisées dans la requete SQL mais sont dans la table peel_commande.

    J'ai donc essayé de bidouiller pour joindre les 3 tables pour afficher toutes les données que je voulais.

    Seulement ça ne marche pas :( et je ne comprends pas comment faire pour joindre les 3 tables sans provoquer un gros chamboulement dans l'affichage du mail.

    Si vous pouviez m'aider..., Ce ne serait pas de refut ;) .

    Voici ma requete SQL FAUSSE, que jai modifiée en tentant de trouver :


    SELECT p.id ,p.reference ,p.pack ,c.client_info2 ,c.paiement ,oi.nom_produit ,oi.promotion ,p.prix AS curr_prix ,oi.prix AS purchase_prix ,oi.quantite ,oi.prix * oi.quantite AS total FROM peel_commandes_articles oi, peel_commandes c LEFT JOIN peel_produits p ON (oi.produit_id = p.id AND oi.commande_id = c.id) WHERE commande_id = '$commandeid'
    • 0
  9. Riskbreaker a ajouté un message dans un sujet  Renommer les images   

    Oui clair, merci à vous Daxey ;)
    • 0
  10. Riskbreaker a ajouté un message dans un sujet  Renommer les images   

    Oui. Voilà, je précise que j'ai un peu changé le système et que maintenant, on peut uploader 4 images portant les noms : monimage_1.jpg, monimage_2.jpg, monimage_3.jpg et monimage_4.jpg.

    Dans lib/fonctions/fonctions.php :



    Dans administrer/produits.php :



    et un peu plus loin, toujours dans administrer/produits.php :


    • 0
  11. Riskbreaker a ajouté un message dans un sujet  Renommer les images   

    Oui, ça fonctionne, merci Daxey (désolé, je n'avais pas testé avant ce matin, trop pris dans la configuration du moteur de recherche en ajax ;) ).

    Comme dans mon cas, c'est une boutique de vins, je n'aurais besoin que d'une seule image par produit, donc le problème des images multiples ne se pose pas.
    C'est chouette, j'aurai bien toutes mes images comme : monvin.jpg

    Merci Daxey encore ;)
    • 0
  12. Riskbreaker a ajouté un message dans un sujet  Renommer les images   


    Je ne comprends pas très bien.
    Le système actuel renomme les fichiers de la sorte justement : "100707_145243_PEEL_TwTgkh.jpg". Ca ne pose pas de problème au recensement ? C'est dans cette optique que je voulais justement appeler mes images avec des noms français explicites.
    Si vous pouvez m'eclaircir sur le sujet, ce ne serait pas de refus ^^
    • 0
  13. Riskbreaker a ajouté un message dans un sujet  Renommer les images   

    ici : $the_new_file_name = $nom . "_" .$mdp.$extension;

    Au moment de renommer le fichier donc. En fait pour essayer d'être plus clair, à la place de $nom j'aimerais récupérer la variable que l'on a entré dans la ligne "nom du produit" de la page administrer/produits.php. Normalement elle se retrouve bien sous la variable $nom.
    Mais ça ne marche pas.

    Exemple, je voudrais entrer un nouveau produit dans ma boutique.
    Ce produit s'appelle par exemple voiture. Ce nom est donc stocké dans la variable $nom.
    Et bien je voudrais réutiliser cette variable dans la fonction "upload" pour pouvoir renommer mes fichiers images (propre au produit en question donc) : voiture_01, voiture_02, voiture_03, etc...

    Voilà ;)
    • 0
  14. Riskbreaker a ajouté un message dans un sujet  Renommer les images   

    Oui, c'est pour ça que je laisse la variable $mdp à la fin du nom.
    Juste que je n'arrive pas à récuperer mon nom de produit ;)
    • 0
  15. Riskbreaker a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne   

    Renommer les images
    Bonjour,

    Mon petit problème du jour est de pouvoir renommer les images en fonction du nom du produit.

    Donc pour exemple : je voudrais avoir comme nom d' image "mon_produit_01.jpg" au lieu de "100707_145243_PEEL_TwTgkh.jpg".

    J'aimerais donc récupérer la variable $nom figurant dans le formulaire d'ajout de produit et l'injecter dans la fonction upload.
    Seulement je n'y arrive pas... J'ai tenté quelques modif' mais aucune ne semble marcher véritablement.

    Voici le code de la fonction :


    function upload($the_file) { global $the_path; $the_file_tmp = $the_file['tmp_name']; $the_file_name = $the_file['name']; $error = validate_upload($the_file); // Teste la validité du document $extension = substr($the_file_name, strrpos($the_file_name, ".")); $dateheure = strftime("%d%m%y_%H%M%S"); $mdp = MDP(); $the_new_file_name = $nom . "_" .$mdp.$extension; [b]<-- Ici, j'ai tenté d'insérer quelques variables comme $nom ou $frm['nom'] mais ça ne semble pas marcher :([/b] if ($error) { return $error; } else { # cool, we can continue if (!move_uploaded_file($the_file_tmp, $the_path . $the_new_file_name)) { //form("\n<b>Quelques choses ne fonctionnent pas : vérifier le chemin de la variable $path et les permissions du répertoire /upload (il doit être en CHMOD777</b>"); } else { chmod($the_path . $the_new_file_name, 0777); return $the_new_file_name; } } }

    La question est : comment récupérer le nom de ma variable $nom pour l'injecter dans cette fonction ?
    Si quelqu'un a une idée..

    Merciiii ;)
    • 18 réponses
    • 7 276 vues
  16. Riskbreaker a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne   

    Problème dans administrer/produits.php
    Bonjour,

    J'ai encore un problème sur la version peel 2.9.3.
    Le formulaire de recherche de la page administrer/produits.php me renvoie tout le temps TOUS les produits. Il ne prend plus en compte les différents critères de recherche...
    Pourtant, j'ai comparé la page de la version 3.0 qui marche très bien avec la mienne, jai corrigé les quelques défauts décrits dans le post it de M.Ruault, mais rien n'y fait.

    Cependant je tiens à dire que j'ai modifié quelques variables... Le champ où l'on écrivait la référence du produit, je l'ai remplacé par le nom. Normalement, cela devrait marcher...

    Si une bonne âme charitable peut m'aider, j'ai passé toute la journée d'hier dessus en vain ;)

    Je vous mets ma fonction affiche_liste_produit, c'est forcément de là que vient le problème non ? ;)


    function affiche_liste_produits($start, $frm) { global $wwwroot; global $categorie_options; ?> <table border="0" cellpadding="0" cellspacing="2" width="740"> <tr> <td class="normal" colspan="7"> <form method="get" action="<?php echo $_SERVER['PHP_SELF']?>?start=0&mode=recherche"> <table border="0" cellpadding="0" cellspacing="2" width="740"> <tr><td colspan="2" class="entete">Choisir vos critères de recherche</td></tr> <tr> <td class="normal"><b>Etat du produit :</b> <br /> <span class="normal"> <input type="radio" name="etat" value="NULL" checked /><i>peu importe</i> <input type="radio" name="etat" value="1" /><i>En ligne</i> <input type="radio" name="etat" value="0" /><i>En attente</i> </span> </td> <td class="normal"><b>Catégories</b><br /> <select size="1" name="categorie" class="formulaire1"> <option value="NULL">Toutes les catégories</option> <?php if (!isset($categorie_id)) { $categorie_id = 0; } $frm['categories'] = array($categorie_id); construit_select_cat($categorie_options, $frm['categorie_id']); echo $categorie_options; ?> </select> </td> </tr> <tr> <td class="normal" valign="top"> <b>Le produit est-il en page d'accueil ?</b><br /> <span class="normal"> <input type="radio" name="homepage" value="NULL" checked /><i>peu importe</i> <input type="radio" name="homepage" value="1" /><i>oui</i> <input type="radio" name="homepage" value="0" /><i>non</i> </span> </td> </tr> <tr> <td class="normal" valign="top"><b>Référence du produit :</b> <input type="text" name="reference" size="15" class="formulaire1" value="" /> </td> </tr> <tr><td colspan="2" height="5" class="label"><img src="<?php echo $wwwroot?>/images/blank.gif" height="5" alt="" /></td></tr> <tr> <td align="center" colspan="2"><input class="bouton" type="submit" value="Rechercher" class="formulaire1" name="action" /> </td> </tr> </table> </form> </td></tr> <tr> <td class="entete" colspan="7">Liste des produits</td> </tr> <tr> <td colspan="7"> <a class="normal" href="<?php echo $_SERVER['PHP_SELF']?>?mode=ajout">[Ajouter un produit]</a> </td> </tr> <?php $nb = 30; $where = ""; if (isset($frm['etat'])) {if ($frm['etat'] != "NULL") {$where .= " AND p.etat = '".$frm['etat']."'";}} if (isset($frm['nom'])) {if (!empty($frm['nom'])) {$where .= " AND p.nom = '".$frm['nom']."'";}} if (isset($frm['nbparpage'])) {if (!empty($frm['nbparpage'])) {$nb = $frm['nbparpage'];}}//nombre d'enregistrement par page if (isset($frm['homepage'])) {if ($frm['homepage'] != "NULL") {$where .= " AND p.on_special = '".$frm['homepage']."'";}} if (isset($frm['categorie']) && !empty($frm['categorie'])) { if ($frm['categorie'] != "NULL") {$where .= " AND c.id = '".$frm['categorie']."'";} $sql = "SELECT p.id, p.reference, p.nom, p.description, p.prix, p.etat, p.date_maj FROM peel_produits p, peel_produits_categories pc, peel_categories c WHERE p.id = pc.produit_id AND c.id = pc.categorie_id AND 1 ".$where." ORDER BY p.id ASC LIMIT $start, $nb"; $sql_count = "SELECT COUNT(*) FROM peel_produits p, peel_produits_categories pc, peel_categories c WHERE p.id = pc.produit_id AND c.id = pc.categorie_id AND 1 ".$where." ORDER BY p.id ASC"; } else { $sql = "SELECT p.id, p.reference, p.nom, p.description, p.prix, p.etat, p.date_maj FROM peel_produits p WHERE 1 ".$where." ORDER BY p.id DESC LIMIT $start, $nb"; $sql_count = "SELECT COUNT(*) FROM peel_produits p WHERE 1 ".$where." ORDER BY p.id DESC"; } $result=mysql_query($sql) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); if (mysql_num_rows($result) == 0) { echo "<tr><td class=\"normal\"><b>Aucun produit enregistré dans la base.</b></td></tr>"; } else { ?> <tr bgcolor="#6699ff"> <td class="menu">Action</td> <td class="menu">Catégorie</td> <td class="menu">Nom</td> <td class="menu">Prix € T.T.C</td> <td class="menu">Etat</td> <td class="menu" align="center">Création / Mise à jour</td> </tr> <?php $i = 0; while ($ligne = mysql_fetch_array($result)) { ?> <tr bgcolor="<?php echo ($i % 2 == 0 ? '#F4F4F4' : '#ffffff' );?>"> <td class="normal" align="center"> <a onClick="java script:return confirm('Êtes-vous sûr de vouloir supprimer le produit <?php echo addslashes($ligne['nom']) ?> ?');" class="normal" title="Supprimer <?php echo $ligne['nom'] ?>" href="<?php echo $_SERVER['PHP_SELF']?>?mode=suppr&id=<?php echo $ligne['id'] ?>"> <img src=<?php echo $wwwroot?>/images/poubelle.gif border=0></a></td> <td class="normal" align="center"> <?php $sqlCAT = "SELECT id, nom FROM peel_categories c, peel_produits_categories pc WHERE pc.produit_id = ".$ligne['id']." AND c.id = pc.categorie_id"; $resCAT = mysql_query($sqlCAT); if (mysql_num_rows($resCAT) > 0) { while ($cat = mysql_fetch_array($resCAT)) { echo html_entity_decode($cat['nom'])."<br />"; } } else { echo "<font color=\"red\"><b>n.c</b></font>"; } ?> </td> <td class="normal" align="center"><a class="normal" title="Modifier ce produit" href="<?php echo $_SERVER['PHP_SELF']?>?mode=modif&id=<?php echo $ligne['id'] ?>"><?php echo stripslashes($ligne['nom'])?></a></td> <td class="normal" align="center"><?php echo $ligne['prix'] ?> € T.T.C</td> <td align="center" class="normal"><?php if (empty($ligne['etat'])) {echo "<img src=\"".$wwwroot."/administrer/images/puce-blanche.gif\" alt=\"\" />";} else {echo "<img src=\"".$wwwroot."/administrer/images/puce-verte.gif\" alt=\"\" />";} ?></td> <td align="center" class="label"><?php if (empty($ligne['on_stock'])) { echo "n.a"; } else { echo ($ligne['stock'] <= 0) ? "<font color=\"red\">".$ligne['stock']."</font>" : $ligne['stock'];} ?></td> <td class="normal" align="center"><?php echo date("d-m-Y", strtotime($ligne['date_maj'])) ?></td> </tr> <tr><td align="center" class="normal" colspan="7"> <?php $i++; } } //Boutons précédent et suivant if($start) { print("<a class=\"normal\" href=\"".$_SERVER['PHP_SELF']."?start=".($start-$nb)."&categorie=".vb($frm['categorie'])."\">page précédent</a>");} $result=mysql_query($sql_count); $row=mysql_fetch_row($result); if($row[0]>($start+$nb)) { if($start) {print(" / ");} print("<a class=\"normal\" href=\"".$_SERVER['PHP_SELF']."?start=".($start+$nb)."&categorie=".vb($frm['categorie'])."\">page suivante</a>"); } print("<br />"); //Affichage des pages if($row[0]>$nb) // le nombre d'enreg. est > au nb de lignes d'affichage ? for($index=0;($index*$nb)<$row[0];$index++) // oui alors on affiche les numéros de pages { ?> <a class="normal" href="<?php echo $_SERVER['PHP_SELF']."?start=".$index*$nb; ?>&categorie=<?php echo vb($frm['categorie'])?>"><?php echo $index+1; ?></a> <?php } echo "</td></tr></table>"; } function valide_form_produit(&$frm, &$erreurs) { $erreurs = array(); $msg = array(); if (empty($frm['nom'])) { $erreurs['nom'] = true; $msg['nom'] = " Vous devez insérer un nom de produit."; } return $msg; }
    • 0 réponse
    • 1 268 vues
  17. Riskbreaker a ajouté un message dans un sujet  Problème d'affichage sous Firefox   

    Wow merci Attila !

    J'avais même pas vu que le corps était à droite >_>.
    Punaise, merci, je répare ça de suite !
    • 0
  18. Riskbreaker a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne   

    Problème d'affichage sous Firefox
    Bonjour,

    Voilà, ayant voulu inclure dans haut.php et bas.php le header, le menu et le footer en div, je me retrouve avec un bug bizarre sur firefox : le corps ne s'affiche plus !
    Chose bizarre pusique le site entier s'affiche correctement sous Opera et IE... Jamais vu un bug pareil auparavant.
    L'erreur porte sur le div du menu (le menu permettant de se connecter à son compte pour info) puisque lorsque je le retire le corps du site s'affiche correctement...

    Donc après de multiples recherches et d'essais, il m'est impossible de trouver d'où peut venir cette erreur... :rolleyes:
    Je fais donc appel à vos talents pour voir si vous avez une idée.

    Voici la page en question qui bug (à tester sous différents navigateurs donc) : http://chateaupartner.com/test/boutique/index.php

    Puis voici le code de haut.php :


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <title><?= $DOC_TITLE ?></title> <meta name="description" content="" /> <meta name="Keywords" content="" /> <meta name="robots" content="All" /> <meta http-equiv="Content-language" content="french" /> <meta name="Classification" content="entreprise" /> <meta name="Author" content="Ma petite entreprise" /> <meta name="Publisher" content="Ma petite entreprise" /> <meta http-equiv="expires" content="0" /> <meta http-equiv="Pragma" content="no-cache" /> <meta name="robots" content="index,follow,all" /> <meta name="Updated" content="daily" /> <meta name="revisit-after" content="10 days" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <base href="<?echo $wwwroot;?>" /> <link rel="stylesheet" href="http://chateaupartner.com/test/boutique/lib/css/style.css" type="text/css" media="screen" /> &lt;script type="text/javascript" src="<?=$wwwroot?>/lib/js/window.js"></script> </head> <body> <div id="header"> <div class="centre-warp"> <img src="<?=$wwwroot?>/images/header.gif" alt="Chateaupartner logo" /> </div><!-- fin centre-warp --> </div><!-- fin header --> <div id="nav"> <div class="centre-warp"> <ul> <li><a href="<?=$wwwroot?>/index.php">Accueil</a></li> <li><a href="<?=$wwwroot?>/compte.php">Mon compte</a></li> <? if (est_identifie()) { echo "<li><a>"; echo "Bonjour "; echo stripslashes($_SESSION['utilisateur']['prenom']) . " " . stripslashes($_SESSION['utilisateur']['nom_famille']); ?></a></li> <li><a href="<?=$wwwroot?>/sortie.php">Se déconnecter</a></li> <? } else { ?> <li><a href="<?=$wwwroot?>/membre.php">S'identifier</a></li> <li><a href="<?=$wwwroot?>/utilisateurs/enregistrement.php">Ouvrir un compte client</a></li> <? }?> </ul> </div><!-- fin centre-warp --> </div><!-- fin nav --> <table width="960" border="0" cellpadding="0" cellspacing="0" height="100%" align="center" > <tr><td colspan="2" height="10" class="normal" align="right" style="background-repeat: no-repeat;"> </td></tr> <tr><td> <table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%"> <tr> <td width="180" valign="top" style="border-right:1px solid #000000;padding:0px;"> <table cellpadding="0" cellspacing="0" width="100%" border="0" > <div class="tetiere" >Votre caddie</div <tr> <td class="normal" align="center"> <?if ($_SESSION['caddie']->compte_elements() != 0) { ?> Nb de produit(s)<br /> sélectionné(s) : <font color="#CC0000"><b><?=$_SESSION['caddie']->compte_elements()?></b></font>.<p> Montant total du panier :<br /> <font color="#CC0000"><b><?=fprix($_SESSION['caddie']->total); ?> € T.T.C</b></font> <p><a class="normal" href="<?=$wwwroot?>/achat/caddie_affichage.php"><b>commander</b></a></p> <? } else { echo "Votre panier est vide actuellement"; } ?> </td> </tr> </table> <br /> <div class="tetiere">Boutiques</div> <div> <? if (!isset($catid)) { $catid = 0; } $frm['parent'] = array($catid); construit_menu_arborescent_cat($categorie_options, $frm['parent']); echo $categorie_options; if (!isset($rubid)) { $rubid = 0; } $frm['parent'] = array($rubid); construit_menu_arborescent_rub($rubrique_options, $frm['parent']); echo "<br /><div class=\"tetiere\" >$site</div>"; echo "<a href=\"$wwwroot/catalogue.php\" class=\"normal\">> Catalogue</a><br />"; echo "<a href=\"$wwwroot/nouveautes.php\" class=\"normal\">> Nouveautés</a><br />"; echo "<a href=\"$wwwroot/ventes.php\" class=\"normal\">> Meilleures Ventes</a><br />"; echo "<a href=\"$wwwroot/selection.php\" class=\"normal\">> Notre Sélection</a><br />"; echo $rubrique_options; echo "<br /><a href=\"$wwwroot/newsletter.php\" class=\"normal\">> Newsletter</a><br />"; echo "<a href=\"$wwwroot/cgv.php\" class=\"normal\">> Conditions de vente</a>"; echo "<br /><a href=\"$wwwroot/contacts.php\" class=\"normal\">> Contact</a>"; ?> </div> <br /> <form method="get" action="<?=$wwwroot?>/achat/recherche.php" name="recherche"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <div class="tetiere">Rechercher :</div> <tr> <td class="normal"> Insérer un mot clef :<br /> <input class="formulaire1" type="text" name="motclef" size="10" value="<?echo vb($_GET['motclef']);?>" /> <input type="submit" value="Rechercher" name="action" class="bouton" /> </td> </tr> </table> </form> <?php if (est_identifie()) { if (a_priv("admin")) { ?> <hr size="1" /> <li><a class="normal" href="<?=$wwwroot?>/administrer/index.php">Administrer le site</a></li> <? } } ?> </td> <td valign="top" class="normal"> Et voici le css concernant le menu : #nav { background: #f1f0d1 url(../../images/menu_haut.jpg) repeat-x top left; width: 100%; padding: 16px 0 0 0; list-style: none; float: left; font-size: 13px; color: #000000; border-bottom: 1px solid #d1b98f; } #nav li { float: left; margin: 0; padding: 0; font-size: 92%; list-style-image: none; list-style-type: none; } #nav a { float: left; display: block; color: #4A3A28; text-decoration: none; margin: 0 1px 0 0; padding: 7px 18px; border: 1px solid #131313; border-bottom: 0; background: #d1b98f url(../../images/bout_off.jpg) repeat-x top left; } #nav a:hover { color: #fff; background: #71593D url(../../images/bout_hover.jpg) repeat-x top left; }

    Si vous trouvez quoique ce soit, je suis preneur :P
    • 4 réponses
    • 1 893 vues
  19. Riskbreaker a ajouté un message dans un sujet  Création d'une page "Meilleures Ventes"   

    Voui, c'est clair, je m'étais fait la remarque en la uploadant
    Allez zou, j'allège mes pages !
    • 0
  20. Riskbreaker a ajouté un message dans un sujet  Création d'une page "Meilleures Ventes"   

    Bonjour,

    Je vais donner ma page des "meilleures ventes" étant donnée qu'elle marche et que ça pourrait donner des pistes à quelqu'uns.
    Je précise que PEEL sert ici pour une boutique de vente en ligne de vins, vous pouvez voir le rendu à cette adresse (sachant que le design n'est pas encore fait) :
    http://chateaupartner.com/test/boutique/ventes.php

    voici le code (très simple en fait) :

    <? include("configuration.inc.php"); if (!isset($_GET['catid'])) { $catid = 0;} else {$catid = intval($_GET['catid']);} $qid_c = recupere_sous_categorie($catid); $DOC_TITLE = "Chateau Partner"; include("$repertoire_modele/haut.php"); ?> <div id="content"> <div class="tetiere" align="left">Meilleures Ventes</div> <table width="100%" cellpadding="2" cellspacing="1"> <tr> <th id="breadCrumb">MILLESIME</th><th id="breadCrumb">CHATEAU</th><th id="breadCrumb">APPELLATION</th><th id="breadCrumb">COULEUR</th><th id="breadCrumb">PRIX</th> </tr> <?php //Requête SQL $sql = "SELECT Count(*) AS count , p.id , p.nom , p.prix , p.millesime , p.couleur , p.aoc FROM peel_commandes_articles oi, peel_produits p WHERE oi.produit_id = p.id GROUP BY oi.produit_id, p.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>"; } echo "</table>"; /****************************************************************************** * FONCTIONS *****************************************************************************/ function recupere_sous_categorie($catid=0) { /* Récupère le nom et la description de toutes les sous-catégories de celle-ci */ $qid = mysql_query("SELECT id, nom, description, parent_id FROM peel_categories WHERE parent_id = $catid AND id > 0 AND etat = 1") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); return $qid; } ?> </div> <?php include("$repertoire_modele/bas.php"); ?>

    Voilà, en espérant que cela puisse t'aider suspensionlab...
    • 0
  21. Riskbreaker a ajouté un message dans un sujet  Création d'une page "Meilleures Ventes"   

    VOUIIIIIIIIIIIIIIIIII, ca y est ca marche !!!

    Grâce à vous deux Attila et Willy, merciiiiii

    Voici la requête en question pour ceux que ca interresse :

    $sql = "SELECT 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 oi.produit_id, p.id ORDER BY count DESC LIMIT 10";

    La seule chose qui clochait dans ton morceau de code Willy, c'était simplement la majuscule à "Count" et il ne fallait pas d'espace entre Count et (*) !

    Youpiiiiiii, vous n'imaginez pas comment je suis heureux de voir tout ça marcher :)

    Merciii encore !
    • 0
  22. Riskbreaker a ajouté un message dans un sujet  Création d'une page "Meilleures Ventes"   

    Non, on retombe sur une erreur de syntaxe avec ca...
    Grouh, on en viendra jamais à bout ...
    • 0
  23. Riskbreaker a ajouté un message dans un sujet  Création d'une page "Meilleures Ventes"   

    Exact, j'ai changé quelques lignes pour le faire marcher, ce qui a donné ceci :


    $sql = "SELECT oi.produit_id as count , p.id , p.nom , p.prix FROM peel_commandes_articles oi, peel_produits p WHERE oi.produit_id = p.id GROUP BY oi.produit_id ORDER BY count DESC LIMIT 10";

    Mais avec cette requête il me classe les vins par ordre de grandeur de l'id et non par nombre d'occurences :/
    • 0
  24. Riskbreaker a ajouté un message dans un sujet  Création d'une page "Meilleures Ventes"   


    Toujours pas :P
    Merci de vos réponses et de votre aide en tout cas, ça fait vraiment plaisir :)

    Des commandes ? Oui jen ai passé une dizaine de fictives qui sont toujours enregistrées dans la table.
    • 0
  25. Riskbreaker a ajouté un message dans un sujet  Création d'une page "Meilleures Ventes"   

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

Twitter Advisto ecommerce

Facebook PEEL Shopping