jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024344 Modifié par jordane45 le 5/12/2015 à 02:56
Bonjour,
Ton print devrait se trouver dans le while...
$result = $mysqli->query('SELECT produit_id, quantite FROM panier WHERE user_id = "'. $web_user_id .'"');
while ($row = $result->fetch_array())
{
print_r($row );
$produit_id = $row['produit_id'];
$qantite = $row['quantite'];
//$panier_user[$panier_id] = $produit_id;
}
Et pour ce qui est du message d'erreur...; $result ne contient pas un array à proprement parler..(c'est le retour du query... mais pour l'utiliser il faut en faire un fetch ! )
De plus, tu fais des boucles contenant des requêtes... alors qu'il est possible de ne faire qu'une seule requête grâce aux jointures.
En gros.. ton code pourrait devenir :
//préparation de la requête (avec jointure)
$sql = "SELECT P.produit_id
, P.quantite
, B.Article_nom
, B.Article_prix
FROM panier P
LEFT JOIN boutique B ON B.produit_id = P.produit_id
WHERE P.user_id = '$web_user_id' ";
$result = $mysqli->query($sql);
if (!$result) { //en cas d'erreur
printf("Message d'erreur : %s\n", $mysqli->error);
}
//Initialisation des variables de retour
$total = array();
$produits = array();
while ($row = $result->fetch_array()) {
//-----------------------------------------------------//
$produit_id = $row['produit_id'];
$qantite = $row['quantite'];
$produit_nom = $row['Article_nom'];
$produit_prix = $row['Article_prix'];
//-----------------------------------------------------//
$produits[$produit_id]['nom'] = $produit_nom;
$produits[$produit_id]['prix'] = $produit_prix;
$produits[$produit_id]['nombre'] = $qantite;
$produits[$produit_id]['sous_total'] = $qantite * $produit_prix ;
$total[] = $qantite * $produit_prix ;
//-----------------------------------------------------//
}
print_r($produits); //le temps des tests
$prix_total = array_sum($total);