Flux d’activité

Flux d’activité de Messages

  1. Willy


    Ca fera juste un lien vers les commandes comme maintenant de code là.

    Je pense qu'il faut créer un nouveau cas et dans ce cas là afficher soit uniquement les commandes terminées, soit toutes les commandes.

    Assez simple a faire, reste à savoir ce qui est demandé.

    Willy

  2. paulanna


    <a href="commandes.php">Voir mes commandes</a>

    ha bon oui c'est vrai effectivement et par ailleurs, c'et à quoi peut bien servir ce lien, mais a quoi peut bien servir le fait de ne pas afficher l'état des commandes et de cliquer à nouveau sur lien enfin bref je me trouve dans un désarois spiritique et culturel profond la

    willy tu peux faire quelque chose la ?

  3. Willy


    Vous ne voulez plus du tout voir les commandes terminées.

    Par contre je ne comprends pas l'histoire du lien en cas de besoin.

    Willy

    Pour ne plus voir les commandes terminées, remplacez dans la table administrer/commandes.php:

    function affiche_liste_commandes($start, $order, $sort) {
    
    
    	global $wwwroot;
    
    
    	$nb = 20;
    
    
    	# Charge la liste des commandes et les affiche. 
    
    	$qid = mysql_query("SELECT * FROM peel_commandes ORDER BY $order $sort LIMIT $start,$nb
    
    	  ");
    
    
    	$sql_count = "SELECT COUNT(*) FROM peel_commandes ORDER BY $order $sort";
    
    
    	include("modeles/commande_liste.php");
    
    }
    Par
    function affiche_liste_commandes($start, $order, $sort) {
    
    
    	global $wwwroot;
    
    
    	$nb = 20;
    
    
    	# Charge la liste des commandes et les affiche. 
    
    	$qid = mysql_query("SELECT * FROM peel_commandes WHERE statut != 8 ORDER BY $order $sort LIMIT $start,$nb
    
    	  ");
    
    
    	$sql_count = "SELECT COUNT(*) FROM peel_commandes WHERE statut != 8 ORDER BY $order $sort";
    
    
    	include("modeles/commande_liste.php");
    
    }

    Par contre les commandes annulées, remboursées et expédiées seront toujours là, vous les voulez ou non ?

    Willy

    Je crois avoir compris, vous ne voulez plus voir les commandes terminées, mais avoir un lien qui permettrait de les voir au cas où, c'est ca ?

    Willy

  4. jcdhl


    J'ajouterais juste qu'il faut ajouter le champ "stock" à la requet SQL qui ramenne les infos sur le produit ou s'il sagit d'une requete de type "select *", ça n'est pas la peine.

    Willy

    J'ai bien rajouter le champ stock dans la requete sql qui ramenne les infos sur le produit :

    $sql = "SELECT p.id, p.reference, p.nom, p.promotion, p.descriptif, p.description, p.image1, p.prix, p.on_special, p.stock, p.typeenvoi, p.poids, pc.categorie_id FROM peel_produits p, peel_produits_categories pc WHERE p.id = pc.produit_id AND pc.categorie_id = $catid AND p.etat = 1 ORDER BY p.LIMIT $start,$nb";

    jcdhl

  5. jcdhl


    on peut voir ou tu déclare ta variable $stock

    J'ai crée le champ stock dans la table peel_produit

    Sur la page achat/index.php je crée un champ de type 'hidden' pour mettre le stock et j'affiche le stock disponible sous forme de liste déroulante :

    J'utilise cette même liste déroulante pour le caddie et pour la fiche détail du produit.

    <input type="hidden" name="stock" value="<? echo $prod['stock']; ?>">

    <span class="impression" >

    <? if ($prod['stock']>0){

    ?>

    Quantité :

    <select name="qte" class="formulaire1">

    <?php // Affiche la quantité en stock

    $i=1;

    while ($i<=$prod['stock'])

    {

    echo "<option value=\"$i\">$i</option>";

    $i++;

    }

    ?>

    </select>

    Et ensuite, j'ai modifié la page caddie_ajout.php comme ceci :

    $_SESSION['caddie']->ajout($_REQUEST['id'], $_REQUEST['qte'], $_REQUEST['stock']);

    $_SESSION['caddie']->nettoie();

    $_SESSION['caddie']->recalc_total();

    $HTTP_REFERER = $_SERVER['HTTP_REFERER'];

    if (! empty($HTTP_REFERER)) {

    header("Location: $HTTP_REFERER");

    } else {

    header("Location: $wwwroot/index.php");

    }

    Je peux donc tester lors de l'ajout si la quantité voulue n'est pas supérieure à la quantité disponible.

    Cordialement

    jcdhl

  6. Aquarelle


    Voila ma fonction ajout modifiée :

    function ajout(&$produitid, $quantite, $stock) {

    /* Ajoute un article au caddie et met à jour le montant total */

    if (isset($produitid)) {

    if (! isset($this->articles[$produitid])) {

    $this->articles[$produitid] = 'O';

    }

    $this->articles[$produitid] += $quantite;

    if ($this->articles[$produitid]>$stock)

    {

    $this->articles[$produitid]=$stock;

    }

    }

    }

    J'ai ajouté la variable stock qui contient la quantité en stock

    jcdhl

    on peut voir ou tu déclare ta variable $stock

  7. vidub2001


    Je l'ai testé et ce code remplit sa fonction pour une vente unique d'objet

    Par contre je travaille sur une autre solution pour la gestion de stock complète

    Cdlt

    Fabrice

    As tu testé le code que tu proposes ?

    Je l'ai testé et l'on ne peut commander qu'une unité malgrés plusieurs en stock !! :D

    Tip Top ta solution, elle marche impecc, reste à coder la partie décrémentation du stock et

    gestion des annulations ! :wub:

    Voila ma fonction ajout modifiée :

    function ajout(&$produitid, $quantite, $stock) {

    /* Ajoute un article au caddie et met à jour le montant total */

    if (isset($produitid)) {

    if (! isset($this->articles[$produitid])) {

    $this->articles[$produitid] = 'O';

    }

    $this->articles[$produitid] += $quantite;

    if ($this->articles[$produitid]>$stock)

    {

    $this->articles[$produitid]=$stock;

    }

    }

    }

    J'ai ajouté la variable stock qui contient la quantité en stock

    jcdhl

  8. jcdhl


    Pour moi il faut remplacer ça:

    foreach ($this->articles as $produitid => $quantite) {
    
    if ($quantite > 1) {
    
    $this->articles[$produitid] = "1";
    
    }
    
    }

    Par une recherche du stock dispo et remplacer la quantité si > stock dispo.

    Dans ce cas là, remettre la page caddie_affichage avec un message.

    Ce script (en haut) limite la quantité commandée a un par article.

    Willy

    Voila ma fonction ajout modifiée :

    function ajout(&$produitid, $quantite, $stock) {

    /* Ajoute un article au caddie et met à jour le montant total */

    if (isset($produitid)) {

    if (! isset($this->articles[$produitid])) {

    $this->articles[$produitid] = 'O';

    }

    $this->articles[$produitid] += $quantite;

    if ($this->articles[$produitid]>$stock)

    {

    $this->articles[$produitid]=$stock;

    }

    }

    }

    J'ai ajouté la variable stock qui contient la quantité en stock

    jcdhl

  9. Aquarelle


    A chaque fois, je vérifie la quantité en stock et donc on ne peut pas ajouter plus que la quantité disponible.

    Je vérifie quand on clique sur ajouter à partir de la fiche produit, je vérifie quand on clique sur mettre à jour dans le caddie et je vérifie encore lors de la validation de la commande.

    Il me parait donc très difficile de commander plus que le stock.

    jcdhl

    C'est interessant, peux tu montrer les bouts de codes ? :D (histoire de partager) :wub:

  10. Willy


    Pour moi il faut remplacer ça:

    foreach ($this->articles as $produitid => $quantite) {
    
    if ($quantite > 1) {
    
    $this->articles[$produitid] = "1";
    
    }
    
    }

    Par une recherche du stock dispo et remplacer la quantité si > stock dispo.

    Dans ce cas là, remettre la page caddie_affichage avec un message.

    Ce script (en haut) limite la quantité commandée a un par article.

    Willy

  11. Aquarelle


    Bonjour,

    Voila ce que je propose pour bloquer l'ajout d'un produit au-delà d'une quantité x (fichier caddie.php)

    function ajout(&$produitid, $quantite) {

    /* Ajoute un article au caddie et met à jour le montant total */

    if (isset($produitid)) {

    if (! isset($this->articles[$produitid])) {

    $this->articles[$produitid] = 'O';

    }

    $this->articles[$produitid] += $quantite;

    }

    foreach ($this->articles as $produitid => $quantite) {

    if ($quantite > 1) {

    $this->articles[$produitid] = "1";

    }

    }

    }

    Cdlt

    Fabrice

    As tu testé le code que tu proposes ?

    Je l'ai testé et l'on ne peut commander qu'une unité malgrés plusieurs en stock !! :D

  12. vidub2001


    Bonjour,

    Voila ce que je propose pour bloquer l'ajout d'un produit au-delà d'une quantité x (fichier caddie.php)

    function ajout(&$produitid, $quantite) {

    /* Ajoute un article au caddie et met à jour le montant total */

    if (isset($produitid)) {

    if (! isset($this->articles[$produitid])) {

    $this->articles[$produitid] = 'O';

    }

    $this->articles[$produitid] += $quantite;

    }

    foreach ($this->articles as $produitid => $quantite) {

    if ($quantite > 1) {

    $this->articles[$produitid] = "1";

    }

    }

    }

    Cdlt

    Fabrice

  13. jcdhl


    Et si on clique plusieurs fois sur le bouton ajouter au panier a partir de la fiche produit que se passe t'il ?

    Car là aussi il doit y avoir un contrôle.

    Willy

    A chaque fois, je vérifie la quantité en stock et donc on ne peut pas ajouter plus que la quantité disponible.

    Je vérifie quand on clique sur ajouter à partir de la fiche produit, je vérifie quand on clique sur mettre à jour dans le caddie et je vérifie encore lors de la validation de la commande.

    Il me parait donc très difficile de commander plus que le stock.

    jcdhl

  14. jcdhl


    Bonjour,

    Je suis nouveau sur le forum mais j'ai mis en place une boutique en ligne basé sur PEEL SHOPPING.

    J'ai mis pas mal les mais dans le cambouis et j'ai intégré une gestion de stock qui n'est pas encore finalisé.

    Cependant, j'ai fait en sorte que lorsqu'on affiche le caddie, au lieu d'une zone de saisie pour la quantité, j'ai mis une liste déroulante avec la quantité en stock. De cette façon il n'est pas possible de commander plus que ce qu'il y a en stock. Le stock quant à lui est diminué lors de la validation de la commande.

    Il me reste a faire l'interface de gestion du stock dans la partie Admin et aussi lors de l'annulation d'une commande remettre la quantité annulée dans le stock.

    Si je peux vous aider faites moi signe.

    jcdhl.

  15. Willy


    J'ai une idée:

    - en premier il faut créer une variabel de type tableau à 2 colonnes

    - dans le 1er champ on met le code de l'article commandé

    - dans le 2nd champ la quantité disponible

    - A l'insertion dans la commande on va chercher le stock disponible auquel on enleve la quantité commandée et on stock le tout dans le tableau.

    - a chaque nouvelle insertion, on va regarder dans ce tableau s'il reste assez d'article...

    Sinon plus simple :D

    - bloquer les commandes qui ont une quantité > stock.

    Pour cela, pour chaque article de la commande, controler la qté commandée et le stock disponible par une requete SQL, à la validation dans caddie_affichage.php. ET en cas de soucis on réffiche la page avec un message disant qu'il n'y a que x produits en stock et en affectant ce x à la quantité commandée.

    Willy

Twitter Advisto ecommerce

Facebook PEEL Shopping