[PHP - SESSION] Tableau en session / PANIER
Fermé
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
-
20 juil. 2007 à 21:16
renolipus - 21 juil. 2007 à 14:46
renolipus - 21 juil. 2007 à 14:46
A voir également:
- [PHP - SESSION] Tableau en session / PANIER
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Le fichier contient un tableau présentant un extrait des livres les plus prêtés à paris en 2016. filtrez le tableau pour ne faire apparaître que les bandes dessinées ado. puis filtrez le tableau pour ne faire apparaître que celles dont l'auteur est zep. quel est le titre de la bande dessinée ado de zep qui a été la plus prêtée d'après ce tableau ? ✓ - Forum Windows 10
4 réponses
Je ne sais pas trop ce que tu veux faire, je pense que ce doit-être ça, mais pas sûr.
if ( !empty($_SESSION['offerList']) ) { if( in_array($no_asp, $_SESSION['offerList']) ) { $index = array_search($no_asp, $_SESSION['offerList']); unset($_SESSION['offerList'][$index]); } }Egalement, foreach est plus pratique qu'un simple for ou while pour parcourir tous les éléments d'un tableau ;)
Je comprend pas trop la logique de ton code, surtout pourquoi tu parcours tout le tableau pour voir si une valeur y est présente.
Cette modification ne ferait pas ce que tu veux ?
Cette modification ne ferait pas ce que tu veux ?
if ( !empty($_SESSION['offerList']) ) { if( in_array($no_asp, $_SESSION['offerList'] ) { echo "alert('L\'offre est deja dans votre panier.');"; } else { $_SESSION['offerList'][] = $no_asp; echo "alert('Votre offre est dans le panier');"; } }
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
21 juil. 2007 à 12:00
21 juil. 2007 à 12:00
Ca fait un moment que j'ai pas fais de PHP de la sorte, donc j'ai oublié pas mal de chose ^^
Je ne connaissais pas la fonction in_array, tres pratique, un grand merci pour le coup de pouce :)
(Ca fonctionne impec)
Pour le coup, j'ai la même erreur pour ce qui est de la suppression d'un élément du tableau en session, voici mon code :
J'imagine qu'il y a une fonction analogue à in_array pour supprimer un élément du tableau ?
Je ne connaissais pas la fonction in_array, tres pratique, un grand merci pour le coup de pouce :)
(Ca fonctionne impec)
Pour le coup, j'ai la même erreur pour ce qui est de la suppression d'un élément du tableau en session, voici mon code :
$offerList = array(); // --- Retrieve list of offers already in session if ( isset($_SESSION['offerList']) && !empty($_SESSION['offerList']) ){ $offerList = $_SESSION['offerList']; } // --- Check if current offer is not already in session $found = false; $i = 0; $sizeList = sizeof($offerList); $newList = null; for ( $i=0; $i<$sizeList; $i++ ){ if ( $offerList[$i] != $no_asp ){ $newList[sizeof($newList)] = $offerList[$i]; } } // --- Replace in session last list by the new one $_SESSION['offerList'] = $newList;
J'imagine qu'il y a une fonction analogue à in_array pour supprimer un élément du tableau ?
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
21 juil. 2007 à 12:26
21 juil. 2007 à 12:26
J'ai tenté de remplacer mon code par celui-ci :
Mais j'ai l'impression que la fonction "unset" ne supprimer pas correctement la valeur, mais la remplacer par une valeur "batarde". Car lorsque je parcours mon tableau pour l'afficher, j'ai une erreur d'offset sur l'ancien indice ou se situait l'offre que j'ai supprimé.
Quelqun saurait-il me dire comment supprimer correctement une valeur d'un tableau ?
if ( !empty($_SESSION['offerList']) ){ for ( $i=0; $i<sizeof($_SESSION['offerList']); $i++ ){ if ( $_SESSION['offerList'][$i] == $no_asp ){ unset($_SESSION['offerList'][$i]); break; } } }
Mais j'ai l'impression que la fonction "unset" ne supprimer pas correctement la valeur, mais la remplacer par une valeur "batarde". Car lorsque je parcours mon tableau pour l'afficher, j'ai une erreur d'offset sur l'ancien indice ou se situait l'offre que j'ai supprimé.
Quelqun saurait-il me dire comment supprimer correctement une valeur d'un tableau ?