impossible de modifier la quantite dans un panier

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Répondre
oceane751

impossible de modifier la quantite dans un panier

Message par oceane751 »

bonjour à tous

ça fait des jours que je suis sur le meme problème et je n'avance pas du tout.
en faite j'arrive pas à modifier la quantité d'un article, c'est une véritable catastrophe.

voici le code :

Code : Tout sélectionner


<?


 session_start();

 $sessionidclient =  $_SESSION['id_client'];
 
 echo  $_SESSION['id_client']."Identifiant client";
 echo "<br><br>";
 
 $article = $_POST['article'];
 echo $article;
 echo "<br>";
$quantite = $_POST['quantite'];

$req1 = "SELECT ref_produit, prix_produit FROM produit WHERE  designation_produit = '".$article."'";
$query1 = mysql_query($req1) or die(mysql_error());
$fetch1 = mysql_fetch_array($query1);


 $total = $fetch1['prix_produit']*$quantite;


$inser = "INSERT INTO panier (id_cli, ref_produit, quantite, total) VALUES ( '".$_SESSION['id_client']."','".$fetch1['ref_produit']."', '".$quantite."', '".$total."')";

$inquer = mysql_query($inser) or die(mysql_error());
$affected = mysql_affected_rows();

$reqtot = "SELECT sum(total) FROM panier WHERE id_cli = '".$_SESSION['id_client']."'  ";
$querytot = mysql_query($reqtot) or die(mysql_error());
$fetchtot = mysql_fetch_array($querytot);




$select = "SELECT  ref_produit, quantite, total FROM panier WHERE id_cli = '".$_SESSION['id_client']."'  ";
$quersel = mysql_query($select) or die(mysql_error());



echo "<table border= 2>
<tr>
<td><center><b>Reference</td></center></b>
<td><center><b>Quantite</td></center></b>

<td><center><b>Total produit</td></center></b>
<td>Modifier</td></tr>";

while($fetchsel = mysql_fetch_assoc($quersel))
{
 echo  $fetchsel['quantite']."quantite";


  echo "<form method= 'post' action='{$_SERVER['PHP_SELF']}'>";
echo "<tr>
<td>".$fetchsel['ref_produit']."</td>
<td><input type = 'text' name = 'quantite' value = '".$fetchsel['quantite']."'/ ></td>

<td>".$fetchsel['total']."</td>
<td><input type = submit name = 'sub_form' value = 'modifier'></td>
</tr>
</form>";

if(isset($_POST['sub_form']))
{
if ($_POST['sub_form'] == 'modifier')
{

  $modif = "UPDATE panier SET quantite = '".$_POST['quantite']."', total = '".$fetch1['prix_produit'] * $_POST['quantite']."'
  WHERE ref_produit = '".$fetchsel['ref_produit']."' AND id_cli = '".$_SESSION['id_client']."'";
  echo $modif;
  $res = mysql_query($modif) or die (mysql_error());
 $fetch = mysql_affected_rows();

}
}
  }
echo "</table>
";
voici ce que ça me donne :
Image

j'ai mis dans mon panier 4 articles de la réference 1. puis j'ai voulu modifier en mettant 5 articles.

se serait vraiment gentil de m'aider parce que là je suis completement perdu :wacko:

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
epsy
Varan
Messages : 1024
Inscription : 21 déc. 2005, 19:58

Message par epsy »

salut,

je te conseille d'utiliser

Code : Tout sélectionner

<?php
de préférence àcar cette seconde balise peut etre désactivée...ce qui est peut-etre ton cas(chez moi question developpement, je la garde désactivée, histoire d'etre le plus portable possible)

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
҈ - config- http://fr.enlightenment.org - wikipedia mon amiiii! - JID: epsy arobase :) jaim.at
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

De même, pour tester, utilise toujours la déclaration

Code : Tout sélectionner

error_reporting(E_ALL);
en début de code afin de voir d'éventuelles erreurs de syntaxe :wink:
epsy
Varan
Messages : 1024
Inscription : 21 déc. 2005, 19:58

Message par epsy »

calimo a écrit :De même, pour tester, utilise toujours la déclaration

Code : Tout sélectionner

error_reporting(E_ALL);
en début de code afin de voir d'éventuelles erreurs de syntaxe :wink:
c'est pas déja fait lors du parsing?

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
҈ - config- http://fr.enlightenment.org - wikipedia mon amiiii! - JID: epsy arobase :) jaim.at
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ça dépend de la configuration du serveur... a priori on n'en sait rien (et je pense que par défaut ça doit laisser passer beaucoup de choses) :wink:
oceane751

Message par oceane751 »

ok..
mais personne peut m'aider à résoudre mon problème? :(



Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

As-tu au moins essayé ce qu'on t'as dit ? C'est quand-même un comble :lol:
Invité

Message par Invité »

j'ai mis ce que tu m'as dit soit "error_reporting(E_ALL); " mais ya rien qui se passe donc pas d'erreur de syntaxe.


....

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Invité

Message par Invité »

quand je met juste ce code, sans les autres bouts de code ça marche :

Code : Tout sélectionner

if(isset($_POST['sub_form'])) 
{
  echo "Condition 1 vérifiée<br />";


   // si suppression 

   if($_POST['sub_form']=="modifier")
   {
     echo "Condition 2 vérifiée<br />";

      $sql = "UPDATE `panier` SET "."`quantite` = '".$_POST['quantite']."'"."WHERE `id_cli` = '3' AND ref_produit = '2'";
      $res = mysql_query($sql) or die (mysql_error());
   }

}

$sql = "SELECT ref_produit, quantite, total FROM panier WHERE id_cli = '3'";
$res = mysql_query($sql) or die(mysql_error()); 

// formulaire 
echo"<center>";
echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">";
echo "<table border =\"0\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"green\">";
echo "<tr>";
echo "<td><center>Réference</td>";
echo "<td><center>Désignation</td>";
echo "<td><center>Prix unitaire</td>";
echo "<td><center>Quantite</td>";
echo "<td><center>Total</td>";
echo "</tr>";
while($data = mysql_fetch_assoc($res)) 
{
  $select = "SELECT designation_produit, prix_produit FROM produit WHERE ref_produit = '".$data['ref_produit']."'";
  $quer = mysql_query($select);
  $fetch = mysql_fetch_array($quer);

echo "<tr>";

   echo "<input type=\"hidden\" name=\"id\" value=\"".$data['ref_produit']."\" />";
   echo "<td>".$data['ref_produit']."</td>";
   echo "<td>".$fetch['designation_produit']."</td>";
   echo "<td>".$fetch['prix_produit']."</td>";
   echo "<td><input type=\"text\" size = 10 name=\"quantite\" value=\"".$data['quantite']."\" /></td>";
   echo "<td>".$data['total']."</td>";
   echo "<td><input type=\"submit\" name=\"sub_form\" value=\"modifier\" /></td>";
   echo "</tr>";
   echo "</form>";

}
echo "</table>";
//echo"<br>";

}
:roll: [/code]

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Une première chose qui me semble étrange c'est que tu fasses ton insert de toute façon, même quand tu arrives du sous-formulaire. Je pense que tu devrais mettre ta condition beaucoup plus haut dans la page, globalement quelque chose comme

Code : Tout sélectionner

if (isset($_POST['sub_form'])) {
  /* Update */

} 
else {
  /* Insert */

}
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité