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 !
oceane751
Message
par oceane751 » 29 mai 2006, 17:14
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 :
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 » 29 mai 2006, 19:17
salut,
je te conseille d'utiliser
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
calimo
Animal mythique
Messages : 14118 Inscription : 26 déc. 2003, 11:51
Message
par calimo » 29 mai 2006, 19:29
De même, pour tester, utilise toujours la déclaration
en début de code afin de voir d'éventuelles erreurs de syntaxe
epsy
Varan
Messages : 1024 Inscription : 21 déc. 2005, 19:58
Message
par epsy » 29 mai 2006, 19:48
calimo a écrit : De même, pour tester, utilise toujours la déclaration
en début de code afin de voir d'éventuelles erreurs de syntaxe
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
calimo
Animal mythique
Messages : 14118 Inscription : 26 déc. 2003, 11:51
Message
par calimo » 29 mai 2006, 20:56
Ç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)
oceane751
Message
par oceane751 » 29 mai 2006, 22:20
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 » 29 mai 2006, 22:22
As-tu au moins essayé ce qu'on t'as dit ? C'est quand-même un comble
Invité
Message
par Invité » 29 mai 2006, 22:34
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é » 30 mai 2006, 00:21
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>";
}
[/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 » 30 mai 2006, 07:52
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. ♪
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité