PHP: bdd vers session pour modif caddie

Fermé
Darkangel - 25 mai 2006 à 19:32
 XwZ - 26 mai 2006 à 10:25
Bonjour a toutes et tous!

Bonjour a toute et tous!

Je cherche simplement a recuperer le contenu d'un caddie precedemment enregistrer dans ma bdd et l'inserer dans la session en cours en vue d'une modification.

lors du chargement de la page enfin du premier chargement!
j'ai ce code qui va chercher le contenu du precedent caddie dans ma bdd!

<?
if (isset($_GET['approche']) && ($_GET['approche'] ==1 )) {
$panier = "SELECT  articles, quantite FROM echantillonage_panier WHERE nb_commande = '".$_GET['commande']."'  ";
$req_panier = mysql_query($panier) or die('Erreur SQL !<br>'.$panier.'<br>'.mysql_error()); 
while($panier = mysql_fetch_array($req_panier)) 
{
$_SESSION['panier_echantillon_modif'][] = array($panier['articles'], $panier['quantite']);
}
}
?>



la fin doit theoriquement placer ce contenu dans la session echantillon modif!!

puis plus bas je fais un foreach pour afficher le contenu!

sauf que voila si je me base sur ce que je recupere de la bdd je dois faire un truc style
foreach ($_SESSION['panier_echantillon_modif'] as $element)

mais dans le cas d'une modification ajout etc de produit
c'est plutot
foreach ($_SESSION['panier_echantillon_modif'] as $produit => $quantite)


Comment procéder afin que le contenu de la bdd soit enregistrer dans la session en temps que produit et quantite afin de pouvoir en modifier la quantite sans probleme ainsi que d'ajouter de nouveau produit au caddie???
mon script d'ajout et modif est le suivant:

<?
if (! isset($_SESSION['panier_echantillon_modif']) ){  $_SESSION['panier_echantillon_modif'] = array(); $_GET['action']= ""; $_GET['achat']= "";}
if (isset($_GET['achat'])) {$achat =  $_GET['achat'];}
if (isset($_GET['action'])) {
switch ( $_GET['action']) { 
case 'increment' :   if (!isset ($_SESSION['panier_echantillon_modif'][ $achat ])) {$_SESSION['panier_echantillon_modif'][ $achat ] = 1; break;} else {$_SESSION['panier_echantillon_modif'][ $achat ]++;  break;}
case 'decrement' :  if( $_SESSION['panier_echantillon_modif'][ $achat ] > 1 ) {   $_SESSION['panier_echantillon_modif'][ $achat ]--; break;  }  else {     unset( $_SESSION['panier_echantillon_modif'][ $achat ] );break; }
case 'suppression':    unset( $_SESSION['panier_echantillon_modif'][ $achat ] ); 
  }}
?>


je seche depuis plusieurs jours donc si quelqu'un pouvais m'aider ca serais sympa
Grand merci par avance
A voir également:

1 réponse

Salut,
Moi je ferais ça comme ça :
une table avec tout les produits (ce que tu doit avoir je pense), une table avec tout les panniers de cette forme la :
id,
id_produit,
nombre_de_produit,
identifiant

ensuite dans le code php je ferait un tableau avec les sessions, dans ce style : $_SESSION['caddie'] = array();
ensuite pour ajouter/modifier un produit tu n'a qu'a faire :
$_SESSION['caddie'][$_GET['id_produit] = $_GET['quantite'];
ensuite pour les afficher/injecter dans la table tu fais :
foreach($_SESSION['caddie'] AS $id_produit => $quantite)
{
//tu affiche/injecte
}

je pense que c'est le plus simple.
(si j'ai bien compri tu as le bon tableau).
ensuite si tu veux récupérer un caddie tu n'as cas ouvrir la table caddie avec un WHERE qui ne prend que l'identifiant choisie et tu fais un while pour l'insérer dans le tableau de la session.
J'espère t'avoir éclairé.
0