begin process at 2012 05 31 06:48:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

probleme d'array (panier)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme d'array (panier)

mercredi 10 octobre 2007 à 13:00:32 | probleme d'array (panier)

lyoan

Bonjour à tous,
Je viens de commencer la création d'un panier et j'avoue rencontrer quelques problèmes.
Voici mon code, dites moi si vous voyez des choses qui ne vont pas car moi j'avoue ne plus rien y voir!!!!

<?php

    function PanierInit()
    {
        $_SESSION['panier'] = array();
        $_SESSION['panier']['num'] = array();
        $_SESSION['panier']['qte'] = array();
    }
   
    function PanierExiste()
    {
        if (isset($_SESSION['panier']))
        {   
            $panier = true;
        }
        else
        {
            $panier = false;
        }
       
        return $panier;
    }
       
    function AjoutPanier($num, $qte)
    {
        $ajouter = false;
       
        if(isset($num) && isset($qte))
        {
            array_push($_SESSION['panier']['num'], $num);
            array_push($_SESSION['panier']['qte'], $qte);
           
            $ajouter = true;
        }
       
        return $ajouter;
    }
       
    function ProduitExiste($num)
    {
        if(count($_SESSION['panier']['num']) > 0 && array_search($num,$_SESSION['panier']['num']) != false)
        {
            $produitExiste = true;
        }
        else
        {
            $produitExiste = false;
        }
       
        return $produitExiste;
    }
       
    function ModifQte($num, $qte)
    {
        $nb = count($_SESSION['panier']['num']);

         $ajouter = false;
       
        for($i = 0; $i < $nb; $i++)
        {
            if($num == $_SESSION['panier']['num'][$i])
            {
                $_SESSION['panier']['qte'][$i] = $qte;
                $ajouter = true;
            }
        }
       
        return $ajouter;
    }
       
    function SupprimerProduit($num)
    {
       
        $nb = count($_SESSION['panier']['num']);

         $supp = false;
       
        for($i = 0; $i < $nb; $i++)
        {
            if($num == $_SESSION['panier']['num'][$i])
            {
                array_splice($_SESSION['panier']['num'],$i,1);
                array_splice($_SESSION['panier']['qte'],$i,1);
               
                $supp = true;
            }
        }
               
        return $supp;
    }
?>

Est ce que mon panier est bien créer? je pense que oui mais mon plus gros problème c'est pour vérifier si un produit et déjà dans le panier, lui modifier que ça quantité.

Merci pour votre aide
mercredi 10 octobre 2007 à 22:50:16 | Re : probleme d'array (panier)

Renus02

salut,

tu t'y connais pas un peu en programmation orientée objet ? cela te faciliterai la vie :

il te faut d'abord une classe produit, qui aura les attributs necessaire a l'identification d'un produit

class Product
{
    var $reference, $description, $price, $number;
   
    function Product( $reference, $description, $price, $number )
    {
        $this->reference = $reference;
        $this->description = $description;
        $this->price = $price;
        $this->number = $number;
    }
   
    function getReference()
    {
        return $this->reference;
    }
   
    function setNumber( $number )
    {
        $this->number = $number;
    }
}

puis une classe panier qui contient un tableau de produit

class Panier
{
    var products = array();
   
    function add( $product )
    {
        $this->products[] = $product;
    }
   
    function getProduct( $reference )
    {
        foreach( $this->products as $product )
        {
            if( $product->getReference() == $reference ){
                return $product;
            }
        }
        return null;
    }
   
    function modif( $reference, $number )
    {
        $product = $this->getProduct( $reference );
       
        if( isset( $product ) ){
            $product->setNumber( $number );
        }
    }
}

pour garder ton panier tu conserverais ton systeme de session (n'oublie pas qu'il faut serializer un objet pour le mettre en session et le deserialize en le recuperant ).

en fait tu instancierai ton objet
Panier

$panier = new Panier();

quan tu veux ajouter un produit tu l'instancie :

$products = new Products(  'AB201',  'description produit',  11, 3 );

et tu l'ajoute au panier :

$panier->add( $products );

(je n'ai pas penser a la fonction de suppression mais il te suffit de retirer le produit du tableau de produits )


Cette discussion est classée dans : session, num, array, panier, qte


Répondre à ce message

Sujets en rapport avec ce message

Problème Session et array [ par taxitat ] Bonjour à tous,J'essaye de créer un panier d'achat. J'en suis au stade expérimental et pour ne pas me casser la tête, à ce stade je "remplis" mon pani Panier : Pb de quantité [ par Fo0Zie ] Bonjour à tous les codeurs !Voilà mon problème que j'arrive en vain à résoudre. J'utilise un panier pour un mini site de vente, il fonctionne très bie tableau array et session panier? [ par newlc ] Salut à tous,je cherche à pouvoir ajouter une valeur a chaque fois que l'utilisateur entre une info dans un champs de saisie simple mais apres chaque balise div et select [ par yop59 ] bonjour j'ai un gros souci,, cea fait 2jours que j'essai dans une table de type div contenant un article, un qte de modifier la qte avec un select et panier et gestion couleurs [ par titeuf974 ] Bonjour!Voila, actuellement je dévelloppe un panier en php utilisant les sessions. Ce dernier fonctionne très bien. Ajout, suppression, modification. Probleme de session [ par pam006 ] Bonjour, Je désirerai créer un panier virtuel en php 5. J'ai trouver un super tuto : http://jcrozier.developpez.com/articles/web/panier/ Sauf que, q Array et session [ par Astroma ] Bonjour, Avant de vous poser mon problème, je voulais vous remercier pour toutes les informations et les conseils que j'ai pu trouver sur ce forum. Warning: mysql_fetch_array() [ par Denzel68 ] Bonjour voila je faix un petit bloc de login mais je un petit problème pour récupéré les donnes de l'avatar: Warning: mysql_fetch_array(): supplied ar PFE [ par samia22 ] bonsoir a tous, j'ai une probleme lors de l'ajout des produits au pannier.. le client doit s'authentifier avant d'ajouter des produits mais ca ne mar incohérence serveur local et distant [ par garudra ] Bonjour et bonnes fêtes! je construis une boutique en ligne, mon panier fonctionne parfaitement en local, et pas du tout sur le site distant.Quelles


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales