Uun pb de caddie avec session php: tableau dans un tableau

Résolu
mhassine Messages postés 12 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 2 septembre 2005 - 15 mars 2005 à 19:47
mhassine Messages postés 12 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 2 septembre 2005 - 21 mars 2005 à 10:29
bonjour,

j'ai essayé de suivre l'exemple de cette page :

http://developpeur.journaldunet.com/tutoriel/php/031103php_caddie1a.shtml



voila mon code, ou j'ai du mal à supprimer un élément du tableau des sessions:



if ($_REQUEST['caddie'] == "ajout")

{

if(isset($_SESSION['caddie']))

foreach( $_SESSION['caddie'] as $tmp)

{ if ($tmp['id_vin']==$_REQUEST['id_vin']) {

unset ($_SESSION['caddie'][$_REQUEST['id_vin']]);



$_SESSION['caddie'][]=array( "id_vin"=>
$tmp['id_vin'],"quantite"=>$tmp['quantite']+$_REQUEST['quantite']);

$trouve=1;

break;}

}



if ($trouve==0) $_SESSION['caddie'][] = array ( "id_vin"
> $_REQUEST['id_vin'],"quantite" > $_REQUEST['quantite']);





mon probleme c'est l'ajout d'une quantité pour un même produit. Plus
exactement, je veux effacer un élément du tableau des sessions dont on
a l'id_vin, et dont la structure est la suivante :



$session['caddie'][ tableau['id_vin']['quantite'] ]



Avec mon code la suppression ne s'effectue pas.



Merci de bien vouloir m'aider.

5 réponses

mhassine Messages postés 12 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 2 septembre 2005
21 mars 2005 à 10:29
en fait j'ai trouvé :, il fallait faire ca :

for ($i=0;$i<count( $_SESSION['caddie'] );$i++)

{

if ($_SESSION['caddie'][$i]['id_vin']==$_REQUEST['id_vin'])

{

$_SESSION['caddie'][$i]['quantite']+=$_REQUEST['quantite'];

$trouve=1;

break;

}

}

J'avais tout simplement mal suivi l'exemple donné sur



http://developpeur.journaldunet.com/tutoriel/php/031103php_caddie1a.shtml



A bientot.
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
15 mars 2005 à 20:14
Salut,



tout d'abord ne pas utiliser $_REQUEST mais $_GET, $_POST ou $_COOKIE



Ensuite si tu nous donnais ton architecture proprement, je veux dire comment organises-tu ton array qui contient les produits ?



ça nous aiderait pour te donner le code permettant de modifier la quantité...



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
mhassine Messages postés 12 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 2 septembre 2005
16 mars 2005 à 13:55
structure :



$_SESSION['caddie'] qui est un élément du tableau des sessions
contient lui même un tableau avec l'id_vin et la quantité

on a donc (la syntaxe n'est pas bonne mais c'est juste pour lexplication)

$_SESSION['caddie'][tableau['id_vin']['quantite'] ]
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 mars 2005 à 14:47
et là ça marche :



$_SESSION['caddie'][$tableau['id_vin']['quantite']] ?

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mhassine Messages postés 12 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 2 septembre 2005
16 mars 2005 à 18:43
Comme je l'ai dit (la syntaxe n'est pas bonne mais c'est juste pour lexplication)


$_SESSION['caddie'][tableau['id_vin']['quantite'] ] , c'était pour expliquer.

$tableau n'existe pas .



Je sais pas si vous avez bien vu en haut mais l'ajout d'un produit est fait comme ceci:

$_SESSION['caddie'][] = array ( "id_vin"
> $_REQUEST['id_vin'],"quantite" > $_REQUEST['quantite']);

Le but c'est d'accéder à la variable quantite du tableau.

Si vous pouviez aussi me dire comment supprimer un un élément de caddie en donnant l'élément id_vin.





Merci pour vos réponses.
0
Rejoignez-nous