Flux d’activité

Flux d’activité de Messages

  1. macao45


    comme promis

    <?php

    $sql="SELECT id, nom_fr FROM peel_marques ORDER BY nom_fr ASC";

    $select = mysql_query($sql);

    ?>

    <option value="" >-------------------------------------------</option>

    <select name="marques[]" multiple style="width:760" size="5">

    <?php

    if (mysql_num_rows($select) > 0) {

    while ($nom = mysql_fetch_array($select)) {

    $selectionne = in_array( $nom['id'], vb($frm['marques'])) ? "selected" : "";

    echo "<option value=\"" . $nom['id'] . "\" ".$selectionne.">" . $nom['nom_fr'] . " - ". $nom['nom_'.$_SESSION['langue'].''] ."</option>";

    }

    }

    ?>

  2. Albert


    Il ne reste plus qu'à modifier la fonction affiche_marque pour ressortir qq chose du genre : marque 1, marque 2, marque 3

    Et là, je pense que c'est plus qu'une simple refonte de la fonction actuelle...

    function affiche_marque($id_marque) {

    global $wwwroot;

    $sql = "SELECT id, nom_".$_SESSION['langue']." as marque, image FROM peel_marques WHERE id = '".intval($id_marque)."'";

    $query = mysql_query($sql);

    if (mysql_num_rows($query) > 0) {

    $brand = mysql_fetch_object($query);

    echo "<strong>".BRAND." : <a href=\"$wwwroot/achat/marque.php?id=".$brand->id."\"><b>".html_entity_decode($brand->marque)."</b></a></strong>";

    }

    }

  3. Albert


    je viens de comprendre !

    il faut vraiment ajouter :

    for ($i = 0; $i < count(vn($frm['marques'])); $i++) {

    if (!empty($frm['marques'][$i])) {

    $sql="

    INSERT INTO peel_produits_marques (marque_id, produit_id)

    VALUES ('{$frm['marques'][$i]}', '$produit_id')

    ";

    $qid = mysql_query($sql);

    }

    }

    a DEUX endroits différents : dans le premier cas c'est utilisé lors de la création de produit et dans le second cas lors de la modification d'un produit.

    j'avais oublié de reporter ce changement vers les lignes 1660 ce qui explique que cela ne modifiait pas ma table puisque j'étais dans le cas de la modification d'un produit.

    Par contre, il doit falloir changer autre chose afin de bien retrouver la variable correspondant à l'ID du produit (là, ça me met "0" lorsque je le fais sur des produits existants.

    Je vais essayer de voir ça...

    J'ai donc ajouté en 1625 :

    if (count(vn($frm['marques'])) == 0) {

    $frm['marques'][] = 0;

    }

    et en 1610

    mysql_query("DELETE FROM peel_produits_marques WHERE produit_id = '".intval($id)."'");

    mais visiblement ce n'était pas ça...

    et j'ai finalement compris que les insertions de creation et de modification ne devaient pas être les mêmes !

    il ne faut pas mettre VALUES ('{$frm['marques'][$i]}', '$produit_id') mais VALUES ('{$frm['marques'][$i]}', '$id')

    for ($i = 0; $i < count(vn($frm['marques'])); $i++) {

    if (!empty($frm['marques'][$i])) {

    $sql="

    INSERT INTO peel_produits_marques (marque_id, produit_id)

    VALUES ('{$frm['marques'][$i]}', '$id')

    ";

    $qid = mysql_query($sql);

    }

    }

    et là, impec (enfin... il semblerait ;-) )

  4. Albert


    moi la table est alimentée .... <_< je suis sur le code pour que quand on modifie on voit le choix precedent

    et bien de mon côté... j'ai tj la même chose : mon fichier produits.php est bien impacté par les changements, je peux bien sélectionner plusieurs marques, mais au final : rien aucun impact sur la table :(

    pourtant je pige bien la manip, je fais certainement une erreur mais je ne vois pas laquelle.

  5. macao45


    à rajouter aussi dans la page

    faire une recherche sur le texte efface ce produit de la et rajouter cette ligne

    mysql_query("DELETE FROM peel_produits_marques WHERE produit_id = '".intval($id)."'");

    initialiser aussi la variable frm dans affiche_formulaire_ajout_produit

    $frm['marques'] = array();
    à deux endroit différents $frm['references'] = array(); et

    $frm['marque'] = "";

    if (count(vn($frm['marques'])) == 0) {

    $frm['marques'][] = 0;

    }

    moi la table est alimentée .... :P je suis sur le code pour que quand on modifie on voit le choix precedent

    du cote de la ligne 1410 et 1660 (vue qu'a force de rajouter les lignes change) texte de recheche count(vn($frm['references']

    for ($i = 0; $i < count(vn($frm['marques'])); $i++) {

    if (!empty($frm['marques'][$i])) {

    $sql="

    INSERT INTO peel_produits_marques (marque_id, produit_id)

    VALUES ('{$frm['marques'][$i]}', '$produit_id')

    ";

    $qid = mysql_query($sql);

    }

    }

    vers ligne 363

    if ($marques) {

    if (mysql_num_rows($marques) > 0) {

    while ($ref = mysql_fetch_array($marques)) {

    $frm['marques'][] = $ref['marque_id'];

    }

    }

    }

    vers lignes 302

    $marques = mysql_query("

    SELECT marque_id

    FROM peel_produits_marques

    WHERE produit_id = '".intval($id)."'

    ");

    /* Charge les couleurs du produit */

    $couleurs = mysql_query("

    SELECT couleur_id

    FROM peel_produits_couleurs

    WHERE produit_id = '".intval($id)."'

    ");

    je crois que c'est tout :(

    si je me suis planté ... ne pas hésiter à le dire ;)

  6. Albert


    Je viens de faire plusieurs recherches sur le forum pour trouver une réponse à une question surement déjà posée :

    Comment avoir à l'écran un listing complet du catalogue produit avec si possible un titre pour séparer chaque catégorie.

    Je souhaiterai proposer à nos revendeurs une sorte de "bon de commande express" où il n'aurait qu'à indiquer le nb d'exemplaires souhaités par ligne puis envoyer leur commande.

    (j'espère avoir mis suffisamment de mots clés pour faciliter les recherches futures)

  7. Albert


    je vais de suite regarder si cela renseigne bien comme il faut la table "peel_produits_marques"

    Bon... tout semble bien se passer... sauf qu'il ne se passe rien ;-)

    - la table peel_produits_marques est aussi vierge qu'à se creation

    - et bien entendu, lorsque je charge a nouveau la fiche du produit dans l'admin, les marques ne sont pas sélectionnées

    je viens de passer 20 bonnes minutes a triturer la choses dans tous les sens mais je sèche :-(

  8. Albert


    Merci pour ces petits bouts !

    Après quelques essais, j'ai réussis à trouver leur place (le fichier produit.php s'exécute sans erreur)

    Par contre... rien ne s'affichait dans ce nouveau tableau "choisir les marques"

    J'ai donc remis la query telle qu'elle était à l'origine dans mon produit.php (je suis en 5.1)

    $select = mysql_query("SELECT id, nom_".$_SESSION['langue']." FROM peel_marques INNER JOIN peel_sites_pivots ON (marque_id = id) WHERE site_id = '".intval($_SESSION['ecom']['id'])."' ORDER BY position");

    Et là, impec !

    mes marques apparraissent, et je peux faire une sélection mutiple...

    je vais de suite regarder si cela renseigne bien comme il faut la table "peel_produits_marques"

  9. macao45


    faut s'inspirer de la pages produits.php de l'admin

    ligne 967 avant ou apres

    <tr>

    <td class="entete">Choisir les marques</td>

    </tr>

    <tr>

    <td>

    <select name="marques[]" multiple style="width:760" size="5">

    <option value="" selected>-------------------------------------------</option>

    <?

    $select = mysql_query("SELECT id, marque, nom_".$_SESSION['langue']." FROM peel_marques ORDER BY nom_fr ASC");

    if (mysql_num_rows($select) > 0) {

    while ($nom = mysql_fetch_array($select)) {

    $selectionne = in_array( $nom['id'], vb($frm['marques'])) ? "selected" : "";

    echo "<option value=\"" . $nom['id'] . "\" $selectionne>" . $nom['nom_fr'] . " - ". $nom['nom_'.$_SESSION['langue'].''] ."</option>";

    }

    }

    ?>

    </select>

    </td>

    </tr>

    et du coté de la ligne 1361

    ajouter

    for ($i = 0; $i < count(vn($frm['marques'])); $i++) {

    if (!empty($frm['marques'][$i])) {

    $qid = mysql_query("

    INSERT INTO peel_produits_marques (marque_id, produit_id)

    VALUES ('{$frm['marques'][$i]}', '$produit_id')

    ");

    }

    }

    j'ai pas mis en place j'ai juste changé le code ...

    essais pour voir ??? ;)

  10. Albert


    Et il ne serait pas possible de simplement faire porter le résultat du nuage sur les meta mots clés indiqués dans la fiche produit ?

    (en fait, je pensais en entrant mes metas que ce seraient eux qui seraient pris en compte et là je viens de me rendre compte que non...)

  11. tigroutux


    bonsoir,

    meme en site de dev .... ne surtout pas prendre FREE!!! online non plus d'ailleur

    il existe plein d'hebergeurs pas cher avec nom de domaine et base digne de ce nom sur le net

    Trouvez quelque chose qui vous conviens ( 30 euros max par an avec nom de domain) mettez votre boutique et vous verrez que ça tourne !!

    de plus pour le referencement sur free ce serra la misère .....

    A+

    Merci pour la réponse, mais hors sujet!!! je ne cherche pas un hébergeur pas cher ......

    La bidouille est un art, mais l'informatique un métier......

    Cordialement

  12. macao45


    bonsoir,

    meme en site de dev .... ne surtout pas prendre FREE!!! online non plus d'ailleur

    il existe plein d'hebergeurs pas cher avec nom de domaine et base digne de ce nom sur le net

    Trouvez quelque chose qui vous conviens ( 30 euros max par an avec nom de domain) mettez votre boutique et vous verrez que ça tourne !!

    de plus pour le referencement sur free ce serra la misère .....

    A+

Twitter Advisto ecommerce

Facebook PEEL Shopping