Aller au contenu

Modifier mon caddie avec Array() et POST


Sujets conseillés

Posté (modifié)

Bonjour,

Comment faire passer un article et une quantité dans un panier avec plusieurs lignes dans une seule commande?

J'ai essayé d'utiliser array() mais je n'arrive pas à remplacer la quantité de ma base de donnée par la quantité entré avec la methode post... pourriez vous m'aider?

En claire je voudrais faire remplacer $quantité par $_POST['qte'] mais je ne sais pas utiliser cette fonction array:

$tableau =array($ID,$designation,$quantite,$prix);
$tableau =array($ID,$designation,$_POST['qte'],$prix);

J'ai essayé:

$tableau =array('produit' => $ID,'designation' => $designation, 'quantité' => $quantite, 'px' => $prix);
$tableau['qte']=$_POST['qte'];

NE FONCTIONNE PAS

Merci de votre aide.

Modifié par Dan
Posté (modifié)

Je te remercie pour ton aide.

Je connais array_push mais je l'utilise mal parceque je n'ai pas reussi à faire fonctionner mon code hier et j'ai pas beaucoup de temps non plus...):

Donc tu me conseilles:

$tableau =array('produit' => $ID,'designation' => $designation, 'quantité' => $quantite, 'px' => $prix);

// je tape ma quantité dans formulaire et je valide puis

array_push($tableau,array('quantité' => $_POST['qte']));

C'est bien ca?

Je vais essayer.

Merci

Modifié par Dan
Posté (modifié)

Je me suis préparée un petit exercice pour comprendre le fonctionnement de la fonction array() que je ne maitrisais pas trop...

<?php

echo "Exemple 1:<br>Afficher les enregistrements d'un tableau à plusieurs colonnes selon le modèle ci-dessous:<br>
ID QUANTITE NOM DU PRODUIT<br>
101 10 RIZ 1 KG<br>
102 20 RIZ 5 KG<br>
103 30 RIZ 10 KG<br>
<br>
";

$tableau = array ( "ID" => array (101,102,103), "QUANTITE" => array (10,20,30), "NOM DU PRODUIT" => array ("RIZ 1 KG","RIZ 5 KG","RIZ 10 KG"));
// Exemples d'utilisations des tableaux ci-dessus

print_r($tableau);

echo "<br><br><br>Exemple 2:<br>Créer un tableau multidirectionnel selon le modèle ci-dessous:<br>
[] Produit Quantite<br>
0 101 10<br>
1 102 20<br>
2 103 30<br>
<br>
";

$tableau2["Produit"][0] = '101';
$tableau2["Produit"][] = '102';
$tableau2["Produit"][] = '103';

$tableau2["Quantite"][0] = '10';
$tableau2["Quantite"][] = '20';
$tableau2["Quantite"][] = '30';

print_r($tableau2);

echo "<br><br><br>Exemple 3:<br>A ne pas faire pour créer un tableau multidirectionnel sinon on obtient le modèle ci-dessous:<br>
[] Produit<br>
0 101<br>
1 102<br>
2 103<br>
Quantite[0] 10<br>
Quantite[1] 20<br>
Quantite[2] 30<br>
<br>
";

$tableau3["Produit"][0] = '101';
$tableau3["Produit"][] = '102';
$tableau3["Produit"][] = '103';

$tableau3["Produit"]["Quantite"][0] = 10;
$tableau3["Produit"]["Quantite"][] = 20;
$tableau3["Produit"]["Quantite"][] = 30;


print_r($tableau3);

echo "<br>La preuve: on a un resultat ci dessous<br>";
echo $tableau3["Produit"]["Quantite"][0];

echo "<br>mais aucun resultat pour la deuxième formule (puisque censée être l'égal de la première!):<br>";
echo $tableau3["Quantite"][0];
echo "pas de resultat";

?>

Je crois que j'ai compris et je peux desormais attaquer la methode array_push...

Modifié par Dan
Posté (modifié)

Autre exercice:

<?
echo "<br><br><br>Exemple 4:<br>A ne pas faire pour créer un tableau multidirectionnel sur le modèle ci-dessous:<br>
[] Produit<br>
0 101<br>
1 102<br>
2 103<br>
Quantite[0] 10<br>
Quantite[1] 20<br>
Quantite[2] 30<br>
[0]Produit 101<br>
[1]Produit 102<br>
[2]Produit 103<br>
[3]Quantite 10<br>
[4]Quantite 20<br>
[5]Quantite 30<br>
<br>
<br>
<br>
";

$tableau3[]["Produit"] = '101';
$tableau3[]["Produit"] = '102';
$tableau3[]["Produit"] = '103';

$tableau3[]["Quantite"] = 10;
$tableau3[]["Quantite"] = 20;
$tableau3[]["Quantite"] = 30;


print_r($tableau3);

echo "<br>La preuve: on a un resultat ci dessous<br> pour les produits<br>";
echo $tableau3[0]["Produit"];
echo "<br>";
echo $tableau3[1]["Produit"];

echo "<br>et pour les quantités:<br>";
echo $tableau3[0]["Quantite"];
echo "<br>";
echo $tableau3[1]["Quantite"];
echo "<br>";
echo "Aucun résultat";

?>

Modifié par Dan
Posté

J'ai édité quatre de tes posts pour 2 raisons :

- merci d'utiliser les balises CODEBOX pour les longs codes

- merci d'utiliser le français pour communiquer, comme demandé dans les règles du forum. (Saluer les membres avec un "Salam" n'est pas français)

Dan

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...