Bonjour à tous,

me revoilà avec mon problème de caddie.

Quasi tout fonctionne sauf que lorsque je tente de supprimer un élément, il me supprime tous les éléments de mon caddie. Il se retrouve donc vide. Il semblerait que l'id que je transmet en GET ne passe pas.

De plus je recharge ma page afin de mettre mon tableau à jour à l'aide de
<meta http-equiv="refresh" content="1;URL=<?php echo $_SERVER['PHP_SELF'] ?>"> mais il me le fait en boucle.

Quelqu'un aurait-il une idée?

Merci pour votre aide.

Voici la structure de mon cadie :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
if (!isset($_SESSION['caddie']['prod'])) 
	{
    /* Initialisation du cadie */
    $_SESSION['caddie']         		=array();
    $_SESSION['caddie']['id'] 			=array();
    $_SESSION['caddie']['prod'] 		=array();
    $_SESSION['caddie']['qt']   		=array();
    $_SESSION['caddie']['nb_couleur'] 	=array();
 	}
et voici la page qui gère mon caddie

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
 
 
<?php
              echo '<table width="100%" class="table_prix">';
                echo '<tr>';
                  echo '<th>Ref</th>';
                  echo '<th>Photo</th>';
                  echo '<th>Quantit&eacute;</th>';
                  echo '<th>Produit</th>';
                  echo '<th>Prix Unitaire</th>';
                  echo '<th>Marquage</th>';
                  echo '<th>Quantit&eacute; Marquage</th>';
                  echo '<th>Total HTVA</th>';
                echo '</tr>';
            /* Debut boucle facture */
            if (!empty($_SESSION['caddie']['prod']))
			{
	        $caddie=count($_SESSION['caddie']['prod']);
        	}
        	else
        	{
        	$caddie=0;
        	}
        	$total=0;
	       	$total_facture=0;
      	    for ($i=0; $i<$caddie; $i++)
     		{
            $id			= $_SESSION['caddie']['id'][$i];
            $selected_stylo = $_SESSION['caddie']['prod'][$i];
            $quantity       = $_SESSION['caddie']['qt'][$i];
            $prix_quantity  = $quantity;
            $nb_couleur     = $_SESSION['caddie']['nb_couleur'][$i]; 
 
            /*Requetes de recherche*/
            $sql  = ("SELECT d.sty_id, d.sty_reference, d.sty_nom, d.ima_rang, d.ima_chemin, d.quantite, d.prix_vente, d.prx_print       
                      FROM v_devis3 d
                      WHERE d.sty_id = '".$selected_stylo."' AND d.ima_rang = '1'");
            $request_ref = mysql_query($sql) or die("S&eacute;lection de la base impossible !");
 
            $reference = mysql_fetch_assoc($request_ref);
 
            /* Test le prix/quantité à appliquer */
            if ($prix_quantity<5000) 
                { 
                echo '<p>D&eacute;sol&eacute;, la quantit&eacute; minimale est de 5000 pcs</p>'; 
                } 
                elseif ($prix_quantity >=5000 AND $prix_quantity <=10000) 
                { 
                $prix_quantity="5000";
                $prix_marquage=10; 
                } 
                elseif ($prix_quantity >=10000 AND $prix_quantity <15000) 
                { 
                $prix_quantity="10000"; 
                } 
                elseif ($prix_quantity >=15000 AND $prix_quantity <25000) 
                { 
                $prix_quantity="15000"; 
                } 
                elseif ($prix_quantity >=25000) 
                { 
                $prix_quantity="25000"; 
                } 
 
            $sql2 = ("SELECT d.sty_id, d.sty_reference, d.sty_nom, d.ima_rang, d.ima_chemin, d.quantite, d.prix_vente, d.prx_print, d.prt_prix       
                      FROM v_devis3 d
                      WHERE d.sty_id = '".$selected_stylo."' AND d.quantite='".$prix_quantity."' AND d.ima_rang = '1'");
 
            $request_prix  = mysql_query($sql2) or die("S&eacute;lection de la base impossible !");
            $request_prix  = mysql_fetch_assoc($request_prix);                
            $prix_uni = number_format($request_prix['prix_vente'], 4, ',','.');
 
                echo '<tr>';
                  echo '<td>'.$reference['sty_reference'].'
                  		<br /><a href="'.$_SERVER['PHP_SELF'].'?choix=supprimer&amp;id='.$_SESSION['caddie']['id'].'&amp;produit='.$_SESSION['caddie']['prod'].'&amp;quantite='.$_SESSION['caddie']['qt'].'&amp;quantite='.$_SESSION['caddie']['nb_couleur'].'">Supprimer cet article</a></td>';
                  echo '<td><img src="'.$reference['ima_chemin'].'" width="50" height="50" /></td>';
                  echo '<td>'.$quantity.'</td>';
                  echo '<td>'.$reference['sty_nom'].'</td>';
                  echo '<td>'.$prix_uni.' &euro;</td>';
                  echo '<td>'.$request_prix['prt_prix'].' &euro;</td>';
                  echo '<td>'.$nb_couleur.'</td>';
                  $total_stylo=$quantity*$request_prix['prix_vente'];
                  $total_marquage=(($nb_couleur*$request_prix['prt_prix'])*$quantity);
                  $total=$total_stylo+$total_marquage;
                  $total=number_format($total, 2, ',','.');
                  echo '<td class="prix"_rouge><b>'.$total.' &euro;</b></td>';
                  $total_facture+=$total;
                echo '</tr>';
         }       
              echo '<tr>';
              	echo '<td border="0"> </td>';
              	echo '<td border="0"> </td>';
              	echo '<td border="0"> </td>';
              	echo '<td border="0"> </td>';
              	echo '<td border="0"> </td>';
              	echo '<td border="0"> </td>';
              	echo '<td class="prix"_rouge><b>Total HTVA </b></td>';
              	echo '<td class="prix"_rouge><b>'.$total_facture.' &euro;</b></td>';
              echo '<tr>';
              echo '</table>';
 
 /* =>Suppression <= */
 if (isset($_GET['choix']) AND ($_GET['choix'] == "supprimer"))
 {
 $suppr_produit=$_GET['id'];
 echo '<p>Le produit '.$suppr_produit.' a été supprimé</p>';
 
 /* Stock contenu du panier sans celui à supprimer */
 $panier_tmp=array("id"=>array(),"produit"=>array(), "qt"=>array(),"nb_couleur"=>array());
 
 /* Comptage des articles du panier */
 $nb_produits=count($_SESSION['caddie']['id']);
 for($i=0; $i<$nb_produits; $i++)
		{
		if($_SESSION['caddie']['id'][$i]!=$suppr_produit)
			{
			echo '<p>passé</p>';
			array_push( $panier_tmp['id'], $_SESSION['caddie']['id'][$i]);
			array_push( $panier_tmp['prod'], $_SESSION['caddie']['prod'][$i]);
			array_push( $panier_tmp['qt'], $_SESSION['caddie']['qt'][$i]);
			array_push( $panier_tmp['nb_couleur'], $_SESSION['caddie']['nb_couleur'][$i]);
			}
		}
 /* Le transfert est terminé on réinitialise le panier */
 $_SESSION['caddie']=$panier_tmp;
/* Suppression du panier temporaire */
	unset($panier_tmp);
?>
<meta http-equiv="refresh" content="1;URL=<?php echo $_SERVER['PHP_SELF'] ?>">
<?php	
 }
 if (isset($_POST['devis']) AND ($_POST['selected_stylo'])!='') 
	{
	 echo '<p>Ajout POST</p>';
     $_select=array();
     $_select['id']    		=$_POST['new_id'];
     $_select['prod']    		=$_POST['selected_stylo'];
     $_select['qt']      		=$_POST['quantity'];
     $_select['nb_couleur']    	=$_POST['couleur'];
     array_push($_SESSION['caddie']['id'], $_select['id']);
     array_push($_SESSION['caddie']['prod'], $_select['prod']);
     array_push($_SESSION['caddie']['qt'], $_select['qt']);
     array_push($_SESSION['caddie']['nb_couleur'], $_select['nb_couleur']);
    echo '<meta http-equiv="refresh" content="1;URL="'.$_SERVER['PHP_SELF'].'">'; /*Va permettre de rafraichir la page pour afficher le nouvel article ajouté */ 
	}
			/* Continuer achats */
              echo '<a href="index.php"><p>Continuer mes achats</a></p>';
              echo '<p><a href="bon_commande.php?quantity='.$quantity.'">PDF</a></p>';
?>