Vous n'êtes pas identifié(e).
Bonjour,
J'ai quelques difficultés pour insérer les données d'un panier dans une table
car je peux afficher le panier avec le code suivant:
<?php
$nbArticles=count($_SESSION['panier']['libelleProduit']);
if ($nbArticles <= 0)
echo "Votre caddie est vide";
else
{
for ($i=0 ;$i < $nbArticles ; $i++)
{
echo "".($_SESSION['panier']['libelleProduit'][$i])."<br>";
}
}
;?>
MAIS, ce que je n'arrive pas a faire, c'est récupérer les données de la session
($_SESSION['panier']['libelleProduit'][$i])
dans un champs
<input type="hidden" name="libelleProduit" value="<? echo "".$_SESSION['panier']['libelleProduit'][$i]."";?>">
pour ensuite l'insérer dans une table avec un INSERT INTO
Quelqu'un aurait il une idée? Merci de vos réponses
Dernière modification par daniel (08-06-2009 16:40:15)
Hors ligne
Saluton,
Essayes comme ça
ça devrait te faciliter la tâche
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Si la donnée est en session, pourquoi la mettre en plus en input hidden ?
Cela fait double emploi...
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Saluton,
Essayes comme ça<input type="hidden" name="libelleProduit[]" value="<?php echo "".$_SESSION['panier']['libelleProduit'][$i]."";?>">ça devrait te faciliter la tâche
Cela me donne Array dans la table
Hors ligne
Si la donnée est en session, pourquoi la mettre en plus en input hidden ?
Cela fait double emploi...
Le Input hidden est pour pouvoir l'insérer dans la table
Hors ligne
Comment est effectuée l'insertion dans la table ?
(je persiste sur le double emploi )
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Ouais, Alain, tu as totalement raison, d'autant qu'en période de chômage en hausse, le double-emploi, ce n'est pas très civique.
Trève de billevesées,
Tu as les données dans le tableau $_SESSION, tu n'as plus qu'à construire en PHP ta requête INSERT en puisant les données dans $_SESSION effectivement.
C'est quoi le problème, en fait ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Comment est effectuée l'insertion dans la table ?
(je persiste sur le double emploi )
En fait, le code ci-dessus fait partie d'un formulaire qui envoie les données vers une autres page avec le code suivant charger d'inserer le tout dans la table. Ce qu'il fait sauf pour libelleproduit, qteProduit et PrixProduits issue de $_SESSION. D'ou ma première question.
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$order_number=$_POST['order_number'];
$myusername=$_SESSION['myusername'];
$libelleProduit=$_POST['libelleProduit'];
$qteProduit=$_POST['qteProduit'];
$prixProduit=$_POST['prixProduit'];
$total=$_POST['total'];
$firstname=$_POST['firstname'];
$lastname =$_POST['lastname'];
$address =$_POST['address'];
$city=$_POST['city'];
$state=$_POST['state'];
$ZIP =$_POST['ZIP'];
$country =$_POST['country'];
$phone=$_POST['phone'];
$payment =$_POST['payment'];
$date_hour=(date("Y-m-d H:i:s"));
mysql_query("INSERT INTO $tbl_name2 VALUES ('','$order_number','$myusername','$libelleProduit','$qteProduit','$prixProduit','$total','$firstname','$lastname','$address','$city','$state','$ZIP','$country','$phone','$payment','$date_hour') ") or die(mysql_error());
session_register("myusername");
session_register("mypassword");
header("location:transc_.php");
?>
Hors ligne
Ouais, Alain, tu as totalement raison, d'autant qu'en période de chômage en hausse, le double-emploi, ce n'est pas très civique.
Trève de billevesées,
Tu as les données dans le tableau $_SESSION, tu n'as plus qu'à construire en PHP ta requête INSERT en puisant les données dans $_SESSION effectivement.
C'est quoi le problème, en fait ?
Le problème est qu'il n'arrive pas a insérer dans la table le contenu de la valeur $_SESSION['panier']['libelleProduit'][$i],
C'est soi un espace vide, soit un array, mais aucune valeur de $_SESSION
Hors ligne
Hum, dans ta session il semble que tu aies plusieurs produits, or le code d'insertion dans la bd n'en insère qu'un...
A mon avis il te faut repenser un peux le truc pour insérer autant de ligne que de produits.
(au passage j'ai mis le code en couleur)
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Hum, dans ta session il semble que tu aies plusieurs produits, or le code d'insertion dans la bd n'en insère qu'un...
A mon avis il te faut repenser un peux le truc pour insérer autant de ligne que de produits.(au passage j'ai mis le code en couleur)
Oui, c'est peut être ca, le fait qu'il y a plusieurs valeurs au lieu d'une seule. Et tu sais comment je pourrais arranger ca? Une piste?
Hors ligne
Une petite boucle sur le nombre d'articles avec l'insertion à l'intérieur.
Petit plan :
-1 Récup des $_POST (qui sont fixes)
-2 Boucle sur $nbArticles
- Récup des données de session (libelleProduit, qteProduit, prixProduit, total) pour le produit $i
- Insertion dans la BDD
Fin de boucle
Voila un principe.
Cependant, l'architecture de l'application me parait un peu bizarre... (mais je n'ai pas tous les éléments).
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
J'ai réussi!!!
En fait il fallait les $_SESSION dans INSERT INTO. J'ai aussi crée une table séparer pour cela
for ($i=0; $i<count($_SESSION['panier']['libelleProduit']); $i++) {
mysql_query("INSERT INTO $tbl_name2 VALUES ('','$order_number','$myusername','".$_SESSION['panier']["libelleProduit"][$i]."','".$_SESSION['panier']["qteProduit"][$i]."','".$_SESSION['panier']["prixProduit"][$i]."','$total','$payment_','$date_hour') ") or die(mysql_error());
}
Merci pour votre aide
Hors ligne