comment supprimer un rang d'un tableau a 3 dimentions ??? - PHP - Programmation
Marsh Posté le 31-07-2002 à 00:06:22
Est se que avec la reference d'un produit tu peut retrouver la taille est la quantité lui correspondant dans un tableau ?
Marsh Posté le 31-07-2002 à 00:10:58
oui, bien sur ... mais pour supprimer ma rangee je fais quoi? ???
Marsh Posté le 31-07-2002 à 00:13:37
Fais voir le code qui permet de récupérer la taille et la quantité selon une reference
Marsh Posté le 31-07-2002 à 00:34:03
je te resume, j'espere que ca t'aidera
Sur une page.php j'affiche en boucle ds un tableau HTML les variables du tableau $panier:
$c = count($panier);
for ($i=0; $i<$c; $i++)
{
list($reference, $taille, $quantite) = $panier[$i];
echo td $reference
echo td $taille
echo td $quantite...
au milieu il y a une cellule avec un lien qui pointe vers la page supprimer.php:
<td ><a href=\"supprimer.php?\">Supprimer ce produit</a></font>
</td>
la page supprimer.php contient ca (en resumé) :
<?
session_start();
$panier[]= array("$ref", $taille, $quantite);
session_register("panier" );
Header("location: page.php" );
?>
Marsh Posté le 31-07-2002 à 00:45:18
<a href=\"supprimer.php?[g]refs=$referece&tais=$taille&quas=$quantie[/g]\">Supprimer ce produit</a> |
<? |
Marsh Posté le 31-07-2002 à 11:54:35
ca efface toujours TOUT le panier...
je te copie le code en supprimant les a cotes, ca ne marche pas, il doit y avoir un truc evident mais je bloque...
1er FICHIER, "panier.php" (qui insere dans le panier de session une reference unique de produit="$ref" + la taille="$taille" + la quantité associée="$quantite", pour chaque article commandé par le client sur le "catalogue.php", depuis un formulaire):
<?
session_start();
$panier[]= array("$ref", $taille, $quantite);
session_register("panier" );
Header("location: catalogue.php" );
?>
2eme FICHIER, "commande.php" , qui affiche le panier en boucle :
<?
Header ("expires: 01/01/70" );
session_start();
?>
<html>
<body>
<table>
<?
$c = count($panier);
for ($i=0; $i<$c; $i++)
{
list($ref, $taille, $quantite) = $panier[$i];
echo ("
<tr>
<td>$ref</td>
<td>$quantite</td>
<td>$taille</td>
<td><a href=\"supprimer.php?refs=$reference&tais=$taille&quas=$quantite\">Supprimer ce produit</a></td>
</tr>
" );
}
?>
</table>
</body>
</html>
3eme FICHIER (celui qui bloque ), "supprimer.php", qui est cense supprimer du tableau en boucle UNIQUEMENT la valeur correspondant a la reference du produit de la rangée:
<?
session_start();
Header ("Expires:01/01/1970" );
unset($panier[$_GET['refs']] ,$panier[$_GET['tais']],$panier[$_GET['quas']]);
Header("location: commande.php" );
?>
Boilou... si tu peux m'aider, ce serait top, je ne sais vraiment plus quoi faire...
MERCI
Marsh Posté le 31-07-2002 à 19:52:46
Essai sa
supprimer.php
<? |
Marsh Posté le 31-07-2002 à 20:19:46
WOUAAAAAAAAAAAAAAAKKKKKKKKKKKKKHHHHHHHHHH !!!!
ca marche!
Il faut juste rajouter à ton code l'affectation du $sup=$ref de depart, et voila le code final:
Citation : |
je t'adore, un jour je serai aussi bon que toi, c'est promis (c'st fou ce que j'apprend avec ce forum) , mais en attendant tu me tires une sale epine du pied et merci encore et encore et encore
Marsh Posté le 31-07-2002 à 23:00:32
Tu est vraiment sur que sa marche parfaitement ??
Car la j'ai un gros doute
<? |
Marsh Posté le 01-08-2002 à 00:06:04
comment affectes tu cette variable $sup? Ca marche effectivement 1 coup sur 2...mais ca ne marche pas du tout sans ca...
Sinon j'ai trouve une autre solution:
Citation : |
Mais qu'est ce qui ne va pas ds le code precedent? Juste pour apprendre et comprendre...
Marsh Posté le 01-08-2002 à 00:30:48
Ok, je vien de comprendre pkoi il te faut la ligne $sup=$ref :
commande.php
<html> |
supprimer.php
<? |
Marsh Posté le 01-08-2002 à 10:19:56
alors la,ok ok ok, je comprends enfin (chi va piano va sano )
Tu es vraiment sympa de consacrer du temps a aider les neophytes, c'est un des fleuron du net, ces zones de gratuite et d'entraide.
Marsh Posté le 01-08-2002 à 20:00:02
Si tu fais un unset() sur le milieu du tableau ça va faire un trou alors j'ai fait cette fonction qui recréé le tableau sans trou :
Code :
|
Marsh Posté le 30-07-2002 à 22:56:04
bonjour,
j'ai cree une variable de session $panier qui est un tableau dont chaque rang contient 3 valeurs ($reference, $taille et $quantite).
Je la remplis, à chaque commande nouvelle sur le site, avec la fonction:
$panier[]= array("$reference", $taille, $quantite);
Mais j'ai un probleme pour SUPPRIMER un rang si l'utilisateur souhaite effacer sa commande du panier, pour un article donné (correspondant à $reference)... Je savais faire quand il y avait 2 valeurs ds le panier, avec un unset($panier[$reference] par exemple, pour supprimer la rangée correspondant. Ca ne marche pas avec 3 variables ...
Quel code utiliser pour supprimer cette rangée?
Merci de votre aide