Probleme de panier
Posté : 29 juil. 2005, 18:49
Bonjour
je bosse sur un processus de panier- pas simple pour moi- et j'ai un probleme que je n'arrive pas a regler. C'est un peu longuet et j'espere etre clair.
Voila :
j'ai une page panier.php qui permet de voir les articles ajoutés, cette liste d'articles et ses attributs est stokée dans une variable de session tableau "liste",
ensuite pour valider le panier, le client se connecte à son compte, il peut ensuite acceder à la page commande.php
Cette page recupere l'id du client
je passe sur le processus de connexion et d'initialisation des variables
premier etape
<?php
// l'enregistrement d'une nouvelle commande dans la table commandes en l'associant a d'ildentifiant client
mysql_select_db($database_connexion_db, $connexion_db);
$insertCommande = "INSERT INTO commandes (date, clientID, total) VALUES (NOW(),'$clientID', '$total')";
$Result1 = mysql_query($insertCommande, $connexion_db) or die(mysql_error());
$commandeID=mysql_insert_id();
//récupère l'identifiant client attibué
//recupération des articles et quantité et enregistrement dans la table "listes"
for ($i=0;$i<count($liste);$i++)
{
$reference=$liste[$i][0];
$quantite=$liste[$i][1];
$prixArticle=$liste[$i][2];
//insertion des parametres des articles de la commande et insertion dans une table liste
$insertListe = "INSERT INTO listes (commandeID, reference, quantite, prixArticle) VALUES ('$commandeID', '$reference', '$quantite', '$prixArticle')";
$Result2 = mysql_query($insertListe, $connexion_db) or die(mysql_error());
}
// pour finir destruction de la liste, du total et du drapeau action de la session et redirection vers la page commande.php
session_unregister("liste");
session_unregister("total");
session_unregister("action");
?>
je me retrouve donc avec deux tables qui me premettent d'un coté de recuperer les parametres de la commande a partir de son id (coordonnées clients, date de la commande...) de l'autre les articles de cette commande (table liste ). Avec ça je peu afficher un bon de commande
Mon probleme ce situe là, je n'affiche pas automatiquement la derniere commande, il me faut créer un bouton avec un menu qui recupere toutes les commandes, selectionner la derniere pour l'afficher. ( je peux aussi selectionner des commandes anciennes) .
son code:
<form action="commande.php" method="get" name="commande" id="commande">
<table width="634" border="0">
<tr>
<th scope="row"><div align="right">Voir une ancienne commande
<select name="commandeID" id="commandeID">
<?php
do {
?>
<option value="<?php echo $row_rsSelectCommande['ID']?>"<?php if (!(strcmp($row_rsSelectCommande['ID'], $HTTP_GET_VARS['commandeID']))) {echo "SELECTED";} ?>>N°<?php echo $row_rsSelectCommande['ID']?>du <?php echo $row_rsSelectCommande['date'] ?></option>
<?php
} while ($row_rsSelectCommande = mysql_fetch_assoc($rsSelectCommande));
$rows = mysql_num_rows($rsSelectCommande);
if($rows > 0) {
mysql_data_seek($rsSelectCommande, 0);
$row_rsSelectCommande = mysql_fetch_assoc($rsSelectCommande);
}
?>
</select>
<input type="submit" name="Submit" value="ok">
Ma question est donc comment aprés avoir ecrit dans mes tables extraire directement les elements a afficher de la derniere commande sans action paticulière. Je voudrais me passer completement de ce bouton.
ouf c'est long mais j'espere que c'est a peut prés clair. Merci
je bosse sur un processus de panier- pas simple pour moi- et j'ai un probleme que je n'arrive pas a regler. C'est un peu longuet et j'espere etre clair.
Voila :
j'ai une page panier.php qui permet de voir les articles ajoutés, cette liste d'articles et ses attributs est stokée dans une variable de session tableau "liste",
ensuite pour valider le panier, le client se connecte à son compte, il peut ensuite acceder à la page commande.php
Cette page recupere l'id du client
je passe sur le processus de connexion et d'initialisation des variables
premier etape
<?php
// l'enregistrement d'une nouvelle commande dans la table commandes en l'associant a d'ildentifiant client
mysql_select_db($database_connexion_db, $connexion_db);
$insertCommande = "INSERT INTO commandes (date, clientID, total) VALUES (NOW(),'$clientID', '$total')";
$Result1 = mysql_query($insertCommande, $connexion_db) or die(mysql_error());
$commandeID=mysql_insert_id();
//récupère l'identifiant client attibué
//recupération des articles et quantité et enregistrement dans la table "listes"
for ($i=0;$i<count($liste);$i++)
{
$reference=$liste[$i][0];
$quantite=$liste[$i][1];
$prixArticle=$liste[$i][2];
//insertion des parametres des articles de la commande et insertion dans une table liste
$insertListe = "INSERT INTO listes (commandeID, reference, quantite, prixArticle) VALUES ('$commandeID', '$reference', '$quantite', '$prixArticle')";
$Result2 = mysql_query($insertListe, $connexion_db) or die(mysql_error());
}
// pour finir destruction de la liste, du total et du drapeau action de la session et redirection vers la page commande.php
session_unregister("liste");
session_unregister("total");
session_unregister("action");
?>
je me retrouve donc avec deux tables qui me premettent d'un coté de recuperer les parametres de la commande a partir de son id (coordonnées clients, date de la commande...) de l'autre les articles de cette commande (table liste ). Avec ça je peu afficher un bon de commande
Mon probleme ce situe là, je n'affiche pas automatiquement la derniere commande, il me faut créer un bouton avec un menu qui recupere toutes les commandes, selectionner la derniere pour l'afficher. ( je peux aussi selectionner des commandes anciennes) .
son code:
<form action="commande.php" method="get" name="commande" id="commande">
<table width="634" border="0">
<tr>
<th scope="row"><div align="right">Voir une ancienne commande
<select name="commandeID" id="commandeID">
<?php
do {
?>
<option value="<?php echo $row_rsSelectCommande['ID']?>"<?php if (!(strcmp($row_rsSelectCommande['ID'], $HTTP_GET_VARS['commandeID']))) {echo "SELECTED";} ?>>N°<?php echo $row_rsSelectCommande['ID']?>du <?php echo $row_rsSelectCommande['date'] ?></option>
<?php
} while ($row_rsSelectCommande = mysql_fetch_assoc($rsSelectCommande));
$rows = mysql_num_rows($rsSelectCommande);
if($rows > 0) {
mysql_data_seek($rsSelectCommande, 0);
$row_rsSelectCommande = mysql_fetch_assoc($rsSelectCommande);
}
?>
</select>
<input type="submit" name="Submit" value="ok">
Ma question est donc comment aprés avoir ecrit dans mes tables extraire directement les elements a afficher de la derniere commande sans action paticulière. Je voudrais me passer completement de ce bouton.
ouf c'est long mais j'espere que c'est a peut prés clair. Merci