Riskbreaker

Utilisateur open source
  • Content count

    31
  • Joined

  • Last visited


Community Reputation

0 Neutral

About Riskbreaker

  • Rank
    Membre PEEL eCommerce

Riskbreaker's Activity

  1. Riskbreaker added a post in a topic 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
  2. Riskbreaker added a post in a topic 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
  3. Riskbreaker added a post in a topic [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
  4. Riskbreaker added a post in a topic [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
  5. Riskbreaker added a topic in 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 reply
    • 1,908 views
  6. Riskbreaker added a post in a topic 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
  7. Riskbreaker added a post in a topic Renommer les images   

    Oui clair, merci à vous Daxey ;)
    • 0
  8. Riskbreaker added a post in a topic 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
  9. Riskbreaker added a post in a topic 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
  10. Riskbreaker added a topic in 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 replies
    • 5,661 views
  11. Riskbreaker added a post in a topic 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
  12. Riskbreaker added a post in a topic 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
  13. Riskbreaker added a post in a topic 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
  14. Riskbreaker added a topic in 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 replies
    • 7,258 views
  15. Riskbreaker added a topic in 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 replies
    • 1,261 views

Twitter Advisto ecommerce

Facebook PEEL Shopping