PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-06-2009 15:54:52

daniel
Membre
Inscription : 01-06-2009
Messages : 29

[Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

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

#2 08-06-2009 16:10:26

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

Saluton,
Essayes comme ça

<input type="hidden" name="libelleProduit[]" value="<?php echo "".$_SESSION['panier']['libelleProduit'][$i]."";?>">

ç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

#3 08-06-2009 16:31:21

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

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

#4 08-06-2009 16:49:07

daniel
Membre
Inscription : 01-06-2009
Messages : 29

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

Maljuna Kris a écrit :

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

#5 08-06-2009 16:50:15

daniel
Membre
Inscription : 01-06-2009
Messages : 29

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

mcAllan a écrit :

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

#6 08-06-2009 16:55:05

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

Comment est effectuée l'insertion dans la table ?

(je persiste sur le double emploi smile )


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#7 08-06-2009 17:28:58

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

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

#8 08-06-2009 18:01:11

daniel
Membre
Inscription : 01-06-2009
Messages : 29

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

mcAllan a écrit :

Comment est effectuée l'insertion dans la table ?

(je persiste sur le double emploi smile )

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.


<?php
session_start();
require("conf.php");

// 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

#9 08-06-2009 18:04:54

daniel
Membre
Inscription : 01-06-2009
Messages : 29

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

Maljuna Kris a écrit :

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

#10 08-06-2009 18:08:20

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

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

#11 08-06-2009 18:15:18

daniel
Membre
Inscription : 01-06-2009
Messages : 29

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

mcAllan a écrit :

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

#12 08-06-2009 18:24:52

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

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

#13 10-06-2009 22:10:22

daniel
Membre
Inscription : 01-06-2009
Messages : 29

Re : [Résolu] Comment insérer les données d'un panier php dans 1 table SQL?

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

Pied de page des forums