RDLG2A
Messages postés44Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention24 mars 2006
-
7 juin 2005 à 16:12
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
8 juin 2005 à 09:53
Bonjour,
Je tente de créer un caddie :
Dans un caddie j'ai créé un formulaire qui me renvoie à une session!
Je poste :
[Caddie.php?Id='.$Id.'&Action=SUPPRIMER Supprimer]
Que je recueille dans ma session['achats'] :
RDLG2A
Messages postés44Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention24 mars 2006 7 juin 2005 à 17:13
Tu peux expliquer en clair?
"array_splice en partant a l'offset = id et sur une longueur de 1 supprime tout ce qu'il y a AVANT le positionnement de ton id...? Ah."
foreach ($tab['achats'] as $clef => $val) {
if ($val['id'] == 1) { // la, il faudra mettre ton $_POST['Id'] a la place de mon 1
$tab['achats'][$clef] = array ();
}
}
echo '
RDLG2A
Messages postés44Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention24 mars 2006 7 juin 2005 à 17:59
Je crois que je viens de piger.....
Si je résume ma session pourrait avoir cette gueule :
session_start('achats');
if ($_GET['Action'] == "AJOUT")
{
$_SESSION['achats'][$_GET['Id']] = array ();
$_SESSION['achats'][$_GET['Qte]] = array ();
else
if ($_GET['Action'] == "SUPPRIMER")
{ f
oreach ($_SESSION['achats'] as $clef => $val) {
if ($val['id'] == $GET['Id'];) { // la, il faudra mettre ton $_POST['Id'] a la place de mon 1
$_SESSION['achats'][$clef] = array ();
}
}
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 7 juin 2005 à 18:02
Non le debut etait bon, j'ai adapte mon script a ton tableau lol.
Donc tu peux le garder tel qu'il etait.
Pour la suite : oui, c'est exactement ca. Ca devrait marcher (ca marche sur mon tableau fictif qui devrait etre identique au tien, donc ca devrait aller).
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 7 juin 2005 à 18:06
Sauf que tu vas garder un sous-tableau avec une clef a un moment.
Dans mon exemple, je me retrouve avec
<!--StartFragment -->Array( [achats] => Array ( [0] => Array ( [id] => 0 [qte] => 3 ) [1] => Array ( ) ))
Donc la clef 0 a ete conserve (ok), mais la clef 1 aussi, simplement, c'est un tableau vide.
Desavantage de ne pas utiliser array_splice() mais c'etait complique avec cette structure...
RDLG2A
Messages postés44Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention24 mars 2006 8 juin 2005 à 09:17
Bingo! J'ai réglé mon problème!
Au début de ma boucle
$NbArt = count($_SESSION['achats']);
for ($i=0; $i < $NbArt; $i++)//debut boucle
{
$NumLigne = $i;
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 8 juin 2005 à 09:30
Heu...cool, mais quelle est la difference avec la 1ere solution que j'ai tache de te donner lol ?
(je demande ca par interet hein, c'etait complique ton truc lol, alors j'aimerais piger la solution).