Pb Php array
Résolu/Fermé
nab13
Messages postés
54
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
18 juillet 2016
-
15 sept. 2008 à 16:06
nab13 Messages postés 54 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 18 juillet 2016 - 15 sept. 2008 à 16:56
nab13 Messages postés 54 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 18 juillet 2016 - 15 sept. 2008 à 16:56
A voir également:
- Pb Php array
- Easy php - Télécharger - Divers Web & Internet
- Php?id=1 - Forum PHP
- \R php ✓ - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Echo image php ✓ - Forum PHP
2 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
15 sept. 2008 à 16:24
15 sept. 2008 à 16:24
Bonjour,
Ton résultat est due à une petite erreur (d'inattention généralement), regarde bien l'entier que tu récupère ici :
A quoi correspond-t-il ? -> à la taille de ta variable "panier" qui est en fait un tableau avec 5 éléments (reference, description, prix, qte et total)
Si tu souhaites récupérer le nombre d'éléments stockés, il faut faire :
Sinon, plutot que de stocker 5 tableaux contenant les informations pour chaque article, pourquoi ne fais-tu pas plutôt une liste des articles tout simplement (liste de tableau), représentée de la manière suivante :
Un stockage de cette façon te permettra de compter le nombre d'élément stocké bien plus facilement, mais aussi de controle si un élément n'a pas déjà été ajouté au panier et de supprimer un élément en ayant sa référence.
Ton code pour ajouter un article à ton panier serait le suivant :
Et le code pour supprimer un article via la référence :
Ton résultat est due à une petite erreur (d'inattention généralement), regarde bien l'entier que tu récupère ici :
$result = sizeof($_SESSION["panier"]);
A quoi correspond-t-il ? -> à la taille de ta variable "panier" qui est en fait un tableau avec 5 éléments (reference, description, prix, qte et total)
Si tu souhaites récupérer le nombre d'éléments stockés, il faut faire :
$result = sizeof($_SESSION["panier"]["reference"]);
Sinon, plutot que de stocker 5 tableaux contenant les informations pour chaque article, pourquoi ne fais-tu pas plutôt une liste des articles tout simplement (liste de tableau), représentée de la manière suivante :
$_SESSION["panier"] = { reference => article { reference, description, prix, qte et total }, reference => article { reference, description, prix, qte et total }, ... etc ... }
Un stockage de cette façon te permettra de compter le nombre d'élément stocké bien plus facilement, mais aussi de controle si un élément n'a pas déjà été ajouté au panier et de supprimer un élément en ayant sa référence.
Ton code pour ajouter un article à ton panier serait le suivant :
if ( !empty($_SESSION['panier']) ){ if( ! in_array($select["ref"], $_SESSION['panier'] ) ) $_SESSION['panier'][$select["ref"]] = $select; } else{ $_SESSION['panier'][$select["ref"]] = $select; }
Et le code pour supprimer un article via la référence :
if ( !empty($_SESSION['panier']) ){ unset($_SESSION['panier'][$select["ref"]]); // --- re-index session array array_values($_SESSION['panier']); }
nab13
Messages postés
54
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
18 juillet 2016
12
15 sept. 2008 à 16:56
15 sept. 2008 à 16:56
En effet c'était tout bête !
Merci beaucoup pour ton aide et ta rapidité..célérité même !
Merci beaucoup pour ton aide et ta rapidité..célérité même !