par
Ryle » 26 juin 2006, 10:05
Dans ton code, c'est le contenu du tableau $select qui est important, c'est lui que tu vas mettres dans ton panier. Dans la mesure où dans tous les cas tu l'as définie à 1, il va difficilement pouvoir l'augmenter
En fait, ta fonction ajout contrôle la présence de l'élément $select['id'] (donc de ton $_GET['ID_session']) dans le panier :
if (!verif_panier($select['id'])
S'il ne le trouve pas, il insère le produit (avec toutes les infos qui vont bien) dans le panier. S'il le trouve, il se contente juste de mettre à jour la quantité :
else
$ajout = modif_qte($select['id'],$select['qte']);
Tout ce dont tu dois t'assurer, c'est que le tableau $select est bien renseigné avec l'id de ton article et la bonne quantité.
Au lieu de :
$select['qte'] = 1;
...
$qte = $_GET['qte']; // (ceci ne sert donc à rien, c'est dans $select qu'il faut définir la quantité. C'est $select que tu passes comme argument à ta fonction :)
Il te faudrait quelque chose du genre :
// si une quantité est définie, on l'utilise, sinon on la définie à 1 par défaut
$select['qte'] = (isSet($_GET['qte'])) ? $_GET['qte'] : 1 ;
Ainsi, si dans ton lien, tu ne met pas qte=xx, alors ta quantité sera égale à 1, et si dans ton lien tu mets 0 ou 5, et que le produit existe déjà dans le panier, sa quantité sera automatiquement mise à jour lors de l'appel à la fonction ajout : elle va faire appel à ta fonction modif_qte() qui supprime très certainement l'article si la quantité est égale à 0, ou met à jour la ligne correspondante sinon
Et puis pour afficher le tableau autrement que par un var_dump, il te faut en fait afficher chaque élément du panier dans l'ordre :
- la première qte ['qte'][0] correspond au premier article ['ID_session'][0] et au premier intitulé ['intitule'][0] , ...
- la deuxième qte ['qte'][1] correspond au deuxième article ['ID_session'][1], ...
Dans ton code, c'est le contenu du tableau $select qui est important, c'est lui que tu vas mettres dans ton panier. Dans la mesure où dans tous les cas tu l'as définie à 1, il va difficilement pouvoir l'augmenter ;)
En fait, ta fonction ajout contrôle la présence de l'élément $select['id'] (donc de ton $_GET['ID_session']) dans le panier :
[php]if (!verif_panier($select['id'])[/php]
S'il ne le trouve pas, il insère le produit (avec toutes les infos qui vont bien) dans le panier. S'il le trouve, il se contente juste de mettre à jour la quantité :
[php]else
$ajout = modif_qte($select['id'],$select['qte']); [/php]
Tout ce dont tu dois t'assurer, c'est que le tableau $select est bien renseigné avec l'id de ton article et la bonne quantité.
Au lieu de :
[php]$select['qte'] = 1;
...
$qte = $_GET['qte']; // (ceci ne sert donc à rien, c'est dans $select qu'il faut définir la quantité. C'est $select que tu passes comme argument à ta fonction :)[/php]
Il te faudrait quelque chose du genre :
[php] // si une quantité est définie, on l'utilise, sinon on la définie à 1 par défaut
$select['qte'] = (isSet($_GET['qte'])) ? $_GET['qte'] : 1 ;
[/php]
Ainsi, si dans ton lien, tu ne met pas qte=xx, alors ta quantité sera égale à 1, et si dans ton lien tu mets 0 ou 5, et que le produit existe déjà dans le panier, sa quantité sera automatiquement mise à jour lors de l'appel à la fonction ajout : elle va faire appel à ta fonction modif_qte() qui supprime très certainement l'article si la quantité est égale à 0, ou met à jour la ligne correspondante sinon ;)
Et puis pour afficher le tableau autrement que par un var_dump, il te faut en fait afficher chaque élément du panier dans l'ordre :
- la première qte ['qte'][0] correspond au premier article ['ID_session'][0] et au premier intitulé ['intitule'][0] , ...
- la deuxième qte ['qte'][1] correspond au deuxième article ['ID_session'][1], ...