PHP envoi des informations du panier vers la Base de Données

winsers
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 19:37

Bonjour, je viens de créer un panier mais je ne sais pas comment transferer les informations dans la base.

Voici ma base :
Image


Mon code affichage_panier.php:
<?php
foreach ($_SESSION['caddie'] as $idProduit => $quantite) 

{
	$rq="SELECT * FROM magazine WHERE ref_produit='".$idProduit."'";

	$res=mysql_query($rq)or die("erreur dans la requete" );

	$ligne=mysql_fetch_array($res);

	$nom=$ligne['titre'];

	$prix_unitaire=$ligne['prix'];

	$prix_total=$prix_unitaire*$quantite;

	$caddie += $prix_total;
	$ref = $ligne["ref_produit"];


	echo'<tbody>
			<tr>
				<td>'.$nom.'</td>
				<td>'.$prix_unitaire.'€</td>
				<td>'.$quantite.'</td><td>'.$prix_total.'€</td>
				<td><a href="retrait_caddie.php?retrait='.$ref.'"><img src="http://nsa21.casimages.com/img/2012/03/24/120324125149189150.png" /></a></td>
			</tr>
		 </tbody>';
}

	echo' <tfoot>
			<tr>
				<td colspan="5">TOTAL COMMANDE = '.$caddie.'€  </td>
			</tr>
			<tr>
				<td colspan="1"><a href="www.google.fr"><img src="http://nsa22.casimages.com/img/2012/03/24/120324125951900829.png" /></a> </td>
				<td colspan="5"><a href="www.google.fr"><img src="http://nsa21.casimages.com/img/2012/03/24/120324010245531262.png" /></a> </td>
			</tr>
		  </tfoot>
	</table>';
et mon ajout_caddie.php:
<?php
    
session_start(); //demarrage de la session  

header("Location: affichage_panier3.php\n\n"); 

if(isset($_GET['ajout']))
{ 
      $ref = $_GET['ajout'];                //reference du produit choisi

if(!isset($_SESSION['caddie']))             //si le caddie n'a pas encore ete cree
      {   
       $_SESSION['caddie'] = array();       //creation de la variable de session
      }

if(isset($_SESSION['caddie'][$ref ]))       //si ce produit a deja ete choisi
      {       
       $_SESSION['caddie'][$ref ]++;               //ajoute 1 a la quantite	   
      }

else 

      {
       $_SESSION['caddie'][$ref ] = 1;                //si 1er ajout, met la quantit a 1  
      }
}

?>
Merco

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

26 mars 2012, 21:26

salut,

il s'agit de requête SQL insert, relativemet basique.

qu'est ce que tu ne sais pas faire ?

@+
Il en faut peu pour être heureux ......

winsers
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 21:35

Je n sais pas reprendre les variables 'quantité ...' pour les mettre dans la parenthèse du VALUE.

Image

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

26 mars 2012, 21:46

Il en faut peu pour être heureux ......

winsers
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 21:51

Donc par exemple dans l'insert ça va être :

INSERT INTO ligne_commande (numero_commande)
VALUES('$ref'); ?

Ou bien : INSERT INTO ligne_commande (numero_commande)
VALUES($ligne["ref_produit"]); ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

26 mars 2012, 21:58

non
insert into lignecommande values(reference_commande, reference_produit,quantité);

revois le fonctionnement des requêtes SQL => http://sqlpro.developpez.com

@+
Il en faut peu pour être heureux ......

winsers
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 22:00

Le truc c'est qu'il faut que je les reprenne du panier PHP. Qu j'envoie les infos récoltées du panier vers la BDD

Vois-tu ce que je veux dire ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

26 mars 2012, 22:06

foreach sur $_SESSION['caddie'] + insertion dans la boucle (une requête préparée aussi si tu veux).

@+
Il en faut peu pour être heureux ......

winsers
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 22:10

Désolé, je ne vois vraiment pas comment faire =S

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

27 mars 2012, 06:39

As tu compris le fonctionnement de foreach ?

Qu'est ce que tu a testé comme code ?

@+
Il en faut peu pour être heureux ......

winsers
Invité n'ayant pas de compte PHPfrance

27 mars 2012, 18:08

Non je n'ai pas compris le fonctionnement de Foreach.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

28 mars 2012, 17:33

Il prend en paramètre un tableau, qu'il a parcourir de "haut" en "bas" et t'en fournis la clef et la valeur "courante".
Il gère tous seul le pointeur tu a juste à utiliser les valeurs.
Donc par exemple
 
<?php
$tablo = ['clef1' => 'valeur1, 'clef2' => 'valeur2']; // etc etc
foreach($tablo as $clef => $valeur){
    echo $clef .' => '.$valeur .'<br/>';
}
?>
Va afficher
clef1 => valeur1
clef2 => valeur2
Etc etc

Donc dans ton ça sut parcourt le caddie avec foreach et tu récupère le produit et la quantité dans la boucle et fait donc une insertion dans la boucle (il y aura donc une insertion par tour de boucle et donc par produit dans le caddie).

@+
Il en faut peu pour être heureux ......