begin process at 2012 05 30 20:17:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Modification de la quantité d'un article dans un caddie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modification de la quantité d'un article dans un caddie

mercredi 23 avril 2008 à 00:07:31 | Modification de la quantité d'un article dans un caddie

amglpp

Bonjour,

Je débute à 65 ans dans ce language php, et je butte sur la modification de la quantité d'un article dans la gestion d'un panier d'achat. Je n'arrive pas à saisir la nouvelle quantité (en utilisant input) et à écraser la valeur précédente par un UPDATE, par contre la suppression d'une ligne d'achat fonctionne bien.
Si vous avez une idée, cela me dépannerai bien car cela fait plus d'une semaine que je galère, ci dessous mon programme épuré des floritures

merci

<?php
$ici="gestion_panier.php?pseudo=$pseudo";
$c=0;
require("conf.php");

$db = mysql_connect($host, $user, $password) or die ("connexion au serveur impossible");
mysql_select_db($database,$db) or die ("sélection de la base impossible");

$sql = "SELECT pseudo, ref_prod, quant FROM panier WHERE pseudo = '$pseudo'";
$result = mysql_query($sql) or die ("Execution extract impossible");
$nbr_articles = mysql_num_rows($result);
// mise en page
echo "<table border=0 /......... ..../ color=#FFFFFF>";
// test de l'opération à effectuer
if (isset ($_POST['update']))
{
 $update=$_POST['update'];
}
if (isset ($_POST['supprimer']))
{
 $supprimer=$_POST['supprimer'];
}
echo "<h2>Your basket $pseudo</h2>/..........(Delete a line ---------> tick on the check box line and click on 'delete' box )</font></font></div>";
echo "<div align='left'><font color='white'><font size=2>(Modify the quantity --> write the new quantity and click on new quantity box)</font></font></div>";
echo "<br>";

// début de update quantité
if ($update)

{
 $quant=$_POST['quant'];
 $nbenrq= sizeof($quant);
for ($i=0; $i<$nbenrq; $i++)

{
 $req="UPDATE panier SET quant=$quant WHERE $ref_prod[$i]";
 mysql_query($req, $db);
 $nb=mysql_affected_rows ($db);
if ($nb ==0)
 echo "error no deleted : ". mysql_error()."<br>";
}
} //fin update */

if ($supprimer)
{
 $supp=$_POST['supp'];
 $nbenr= sizeof($supp);

for ($i=0; $i<$nbenr; $i++)
 
{ $req_supp="DELETE from panier WHERE id='$supp[$i]'";
 mysql_query($req_supp, $db);
 $nb=mysql_affected_rows ($db);
if ($nb ==0)
 echo "error no deleted : ". mysql_error()."<br>";
}
} //fin supprimer

// afficher la liste

$sql = "SELECT id,pseudo, ref_prod, quant FROM panier WHERE pseudo = '$pseudo'";
$resultat = mysql_query($sql) or die ("Execution extract impossible");
$nblignes=mysql_num_rows($resultat);
$nbchamps=mysql_num_fields($resultat);

echo "<table border=0 align=left width=85% cellspacing=3 cellpadding=3 >";
echo "<FORM ACTION=$ici method='POST'><tr>";
 echo "<td><font color=#ffffff>row</td>";
for ($i=2; $i < $nbchamps; $i++)
{
 $tabchamps[$i] = mysql_field_name($resultat,$i);
 echo "<th><font color=#ffffff>$tabchamps[$i]</font></th>";
}
echo "<td align='left'><font color=#ffffff><input type=submit name='supprimer' value='Delete !'><input type=submit name='update' value='    New quantity !    '></td></tr>";

$rg= 1;
for ($i=0; $i < $nblignes; $i++)
{
 $ligne = mysql_fetch_row($resultat);
 echo "<tr bgcolor=\"#FFFFFF\">"; $c= ! $c;
 echo "<td>$rg</td>";
 $rg++;
for ($j=2; $j < $nbchamps; $j++)
{
 echo "<td>$ligne[$j]</td>";
}

echo "<td align='left'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=checkbox name='supp[]' value='$ligne[0]'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text  name='quant' value='$quant[$j]'></td></tr>";
}
echo "</form></table>";
echo "</table>";
mysql_close($db_link);
?>

 

mercredi 23 avril 2008 à 10:04:02 | Re : Modification de la quantité d'un article dans un caddie

cephalic

Réponse acceptée !
Bonjour
La requete udpadate n'est pas bonne :
$req="UPDATE panier SET quant=$quant WHERE $ref_prod[$i]";
La condition where est fausse. Il faut comprar $ref_prod avec quelquechose.
$req="UPDATE panier SET quant=$quant WHERE  id = $ref_prod[$i]";
Et comme apparement votre champs dans la base s'appelle id c'est avec lui qu'il faut le comparer.
mercredi 23 avril 2008 à 10:40:18 | Re : Modification de la quantité d'un article dans un caddie

amglpp

Bonjour cephalic et merci,
c'est juste j'ai cette erreur, mais le point sur lequel je bloque le plus est sur la prise en compte de la nouvelle quantité, si je fais un "echo" sur $quant[$i] ou sur $ref_prod[$i] après "input text" je n'ai aucune valeur.
J'ai essayé plusieurs solutions et je pense que je dois me mélanger dans les indices.
mercredi 23 avril 2008 à 10:54:00 | Re : Modification de la quantité d'un article dans un caddie

amglpp

J'ai modifié la ligne de l'update, et rajouté un echo sur $quant avant l'update, j'obtiens $quant='  '
Je pense qu'il faut aussi que je transmette $ref_prod mais j'ai le même soucis

{
 $quant=$_POST['quant'];
 $nbenrq= sizeof($quant);
 echo "quant= '$quant'";
for ($i=0; $i<$nbenrq; $i++)

{
 $req="UPDATE panier SET quant=$quant WHERE id='$ref_prod[$i]'";

merci

mercredi 23 avril 2008 à 11:31:07 | Re : Modification de la quantité d'un article dans un caddie

cephalic

Re
Oui vous avez un gros problème que je n'avais pas vu.
Le parcours de données de requète ne se récupère pas comme vous l'avez fait : remplacer tout sa :

if ($update)

{
 $quant=$_POST['quant'];
 $nbenrq= sizeof($quant);
for ($i=0; $i<$nbenrq; $i++)

{
 $req="UPDATE panier SET quant=$quant WHERE $ref_prod[$i]";
 mysql_query($req, $db);
 $nb=mysql_affected_rows ($db);
if ($nb ==0)
 echo "error no deleted : ". mysql_error()."<br>";
}
 Par
if ($update){
$req="UPDATE panier SET quant=$quant WHERE pseudo=$pseudo";
 mysql_query($req, $db) or die("erreru update");
}

Plus généralement our récuperer des données de requete ne faite pas une boucle for
avec mysql_num_rows mais utiliser
$row=mysql_query(votre_requete)
while($result=mysql_fetch_assoc($row))
{
$row['nom_champs_dans_la_base']
}

C'est plus simple.
Cordialement


Cette discussion est classée dans : mysql, pseudo, echo, update, nbsp


Répondre à ce message

Sujets en rapport avec ce message

MySQL UPDATE ???? keski spass ??? [ par kodiask ] voila g un espace membre ou les personne peuvent modifier leur infos g le page modif.php3et la page prive.phpprivee j'ai : ( jouvre la session bien su probleme affichage image [ par zizou94 ] Bonjour à tousVoivi mon deuxieme souci du jour.J'ai un code ou il y a du javascript et du php mélanger. Ce code permet l affichage de l image au passa prob verif donné [ par cobrachris ] Bonsoir, désolé de vous déranger encore une fois.J'ai encore un problème, j'ai créer un espace membre, ainsi qu'un formulaire d'inscription (vraiment Erreur incomprise... [ par Ang3lo ] Bonjours à tous, Je suis en train de développer un script d'identification mais j'ai un problème : une erreur m'est indiqué et je ne sais pas pourquoi pb control if else....pour inscription [ par laubro ] Bonjour,je vousdrais en fait lors de l'envoi d'un form d'inscription (pseudo, pass et mail)  faire un control voir si le pseudo n'existe pas déja dans Probleme lors de l'update en MySQL [ par chatainsim ] Bonsoir, je travail sur un forum, et j'ai un ptit soucis. j'utilise ceci pour modifier la base de donnée, mais cela ne fonctionne pas. Pourtant j'ai t Update MySql dans une boucle [ par ckryo ] Bonjour, J'aurais voulu savoir pourquoi mon update MySql ne fonctionne pas a l'interieur d'une boucle. qd je sors la commande de la boucle, la mise a Formulaire avec select et update de bdd mysql [ par arnold002 ] Bonjour à tous,J'ai un formulaire qui contient 2 champs de type select : classe et annee.Je veux associer chaque classe à chaque année et ensuite fair multiple insertion dans mysql via un formulaire php [ par wizard512 ] je suis entrain d'éllaborer un script qui permet de multiple insertion dans mysql via un formulaire php.. mais je bloque pour la dernière étapes, quel Besoin d'aide pr afficher dernière valeur d'1 enregistrement [ par chardene_amour_de_freddy ] Bonjour à tous ! J'explique mon pb, je souhaiterais récupérer la valeur du dernier enregistrement d'une requete. En fait j'ai un formulaire dans leque


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,981 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales