Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/08/2007, 12h23   #1
Invité de passage
 
Inscription : juin 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 16
Points : 0
Points : 0
Par défaut [SQL] Insertion dans ma base de données

bonjour,
j'ai une liste déroulante de produit qui renseignée a partir de ma bas ensuite selon le choix de l'utilisateur je dois récuperer le id du produit pour faire faire un update dans table stock .
Maintenant le probléme que je suis confronté c'est que je n'arrive pas à faire update dans la base alors que j'ai bien récupéré le id et dans le formulaire aucune erreur ne s'affiche .je pense que c'est un probléme de visibilité .je vous montre le code de mon formulaire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
 
<?
if (!empty($_POST))
{ 
$controle=0;
if(isset($_POST['radiostock']))  $radiostock=$_POST['radiostock'];
else      $radiostock=""; 
if(isset($_POST['qtestock']))  $qtestock=$_POST['qtestock'];
else      $qtestock=""; 
if(isset($_POST['radiomodele']))  $radiomodele=$_POST['radiomodele'];
else      $radiomodele=""; 
//controler le champs de saisi quantité
if(!empty($_POST['valider']))
{
if(empty($qtestock)| !ereg("^[0-9]*$",$qtestock))
{
$controle=0;
}
else
{
$controle=1;
}
if ($controle==0)
{
echo"<script language=\"javascript\">alert(\"Attention,Nombre Invalide Corrigez SVP!!\");";
echo"window.history.go(-1);</script>"; 
}
//controle les boutons radio pour modele 
if (empty($radiomodele))
{
echo"<script language=\"javascript\">alert(\"Attention,Choisissez un modele SVP!!\");";
echo"window.history.go(-1);</script>"; 
}
}
}
//insertion de la quantité à stocker dans la base de données
mysql_connect("localhost","root","");
mysql_select_db("bd_ngalam"); 
//recuperer le id du produit 
if(isset($_POST['produit1']))
{
$produit=$_POST['produit1'];
$query="SELECT * FROM `produit` WHERE `nom_produit`='$produit' and modele='$radiomodele';";// id produit à stocker 
$query1=mysql_query($query);
$resultat=mysql_fetch_array($query1);
$resultat1=$resultat['idproduit'];
//recuperation de la date 
$date = date("Y/m/d");  
//modifier dans la table approvisionnement
$passage="UPDATE approvisionnement SET quantite_appro=quantite_appro+$qtestock WHERE idproduit = $resultat1;";
$passage1=mysql_query($passage);
$passagedate="UPDATE approvisionnement SET date_appro=$date WHERE idproduit = $resultat1;";
$passagedate1=mysql_query($passagedate);
}
echo"<html>";
echo"<head>";
echo"<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>";
echo"<title>Formulaire Approvisionnement</title>";
echo"<style type='text/css'>";
echo"<!--
.Style1 {
	font-size: 14px;
	font-weight: bold;
}
.Style2 {
	font-size: 12;
	font-weight: bold;
}
.Style4 {font-size: 12; }
-->";
echo"</style>";
echo"</head>";
echo"<body>";
echo"<div align='center'>";
echo"<p class='Style1'><u>Logiciel de Gestion et de Controle de la Discoth&eacute;que Ngalam </u></p>";
echo"  <p class='Style1'>&nbsp;</p>";
echo"<form name='form1' method='post' action=''>";
echo"    <table width='534' border='3' bordercolor='#FFFFFF'>";
echo" <tr>";
echo"  <th colspan='3' bordercolor='#990000' bgcolor='#3300CC' class='Style1' scope='col'><div align='center' class='Style2'><u>Formulaire d'Approvisionnement du stock </u></div></th>";
echo"</tr>";
echo"<tr>";
echo"<td width='200' height='32' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center' class='Style4'>Cat&eacute;gorie de Produits </div></td>";
echo"<td width='148' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center'>Alcool ";
echo"<input type='radio' name='radiostock' value='alcool'  onChange='document.form1.submit()'>";
echo"</div></td>";
echo"<td width='160' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center'>Sucr&eacute;e";
echo"<input type='radio' name='radiostock' value='sucree'onChange='document.form1.submit()'>";
echo"</div></td>";
echo"</tr>";   
echo"<tr>";
        echo"<td height='33' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center' class='Style4'>Libell&eacute; des Produits </div></td>";
echo"<td colspan='2'bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center'>";
 
	   if(!empty($_POST['radiostock']))
	   {  
$query="SELECT DISTINCT nom_produit FROM `produit` WHERE `categorie`='".$_POST['radiostock']."'ORDER BY nom_produit;";
$res=mysql_query($query);
}
echo"<select name='produit1' >";
echo"<option value=''>Choisissez...</option>";
 
while ($r=mysql_fetch_assoc($res))
{
echo '<option value="'.$r["id"].'">'.$r["nom_produit"].'</option>';
}
echo"</select>";
mysql_close();
echo"</div></td>";
echo"</tr>";
echo"<tr>";
echo"<td width='200' height='32' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center' class='Style4'>Cat&eacute;gorie de Produits </div></td>";
echo"<td width='148' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center'>PM ";
echo"<input type='radio' name='radiomodele'value='PM'>";
echo"</div></td>";
echo"<td width='160' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center'>GM";
echo"<input type='radio' name='radiomodele' value='GM'>";
echo"</div></td>";
echo"</tr>";
echo"<tr>";
echo"<td height='35' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center' class='Style4'>Quantit&eacute; &agrave; stocker </div></td>";
echo"<td colspan='2' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center'>";
echo"<input name='qtestock' type='text' id='qtestock'>";
echo"</div></td>";
echo" </tr>";
echo"<tr>";
echo"<td height='37' bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center' class='Style4'>Confirmation</div></td>";
echo"<td bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center'>";
echo"<input type='submit' name='valider' value='Valider'>";
echo"</div></td>";
echo"<td bordercolor='#990000' bgcolor='#3300CC' class='Style1'><div align='center'>";
echo"<input type='reset' name='Submit' value='Annuler'>";
 echo"</div></td>";
echo"</tr>";
echo"</table>";
echo"</form>";
echo"<p class='Style1'><u></u></p>";
echo"</div>";
echo"</body>";
echo"</html>";
?>
kebson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 12h26   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
ajoute un or die() a tes mysql_query() pour vérifier que tout se passe bien:
Code :
mysql_query($requete) or die ("Erreur mysql : $requete<br>".mysql_error());
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 13h15   #3
Invité de passage
 
Inscription : juin 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 16
Points : 0
Points : 0
Par défaut probleme insertion dans ma base

merci de m'avoir répondu
j'ai fait ce que vous avez dit il m'a affiché cette erreur :
Erreur mysql : UPDATE approvisionnement SET quantite_appro= (quantite_appro+), date_appro=2007/08/09 WHERE idproduit = '';
Erreur de syntaxe près de '), date_appro=2007/08/09 WHERE idproduit = ''' à la ligne 1
je pense pas avoir fait des erreur sur la stucture sql

Code :
1
2
3
4
 
 
$passage="UPDATE approvisionnement SET quantite_appro= quantite_appro+$qtestock, date_appro=$date  WHERE idproduit = $resultat1;";
$passage1=mysql_query($passage)or die ("Erreur mysql : $passage<br>".mysql_error());
Merci pour tout
kebson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 13h39   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Vous pouvez voir que apres le + la valeur de votre variable $qtestock n'apparait pas etes vous sur qu'il y a une valeur dedans?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 14h03   #5
Rédactrice
 
Avatar de xave
 
Inscription : mai 2002
Messages : 860
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mai 2002
Messages : 860
Points : 824
Points : 824
Citation:
Envoyé par kebson
merci de m'avoir répondu
j'ai fait ce que vous avez dit il m'a affiché cette erreur :
Erreur mysql : UPDATE approvisionnement SET quantite_appro= (quantite_appro+), date_appro=2007/08/09 WHERE idproduit = '';
Erreur de syntaxe près de '), date_appro=2007/08/09 WHERE idproduit = ''' à la ligne 1
je pense pas avoir fait des erreur sur la stucture sql

Code :
1
2
3
4
 
 
$passage="UPDATE approvisionnement SET quantite_appro= quantite_appro+$qtestock, date_appro=$date  WHERE idproduit = $resultat1;";
$passage1=mysql_query($passage)or die ("Erreur mysql : $passage<br>".mysql_error());
Merci pour tout
Peut être ceci:

Code :
1
2
3
4
 
 
$passage="UPDATE approvisionnement SET quantite_appro= quantite_appro+'".$qtestock."', date_appro='".$date."'  WHERE idproduit = '".$resultat1."';";
$passage1=mysql_query($passage)or die ("Erreur mysql : $passage<br>".mysql_error());
__________________
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1


Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
xave est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 17h15   #6
Invité de passage
 
Inscription : juin 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 16
Points : 0
Points : 0
Par défaut probléme insertion dans ma base

rebonojur
kojapah j'ai tester ma variable $qtestock mais c'est bien renseigner xave j'ai mis les code sql que tu m'as envoyé pas mal car je n'ai plus d'erreur de syntaxe mais le probléme c'est jai tjrs ma table qui n'est pas rensignée
ça m'étonne
kebson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 00h25   #7
Membre confirmé
 
Inscription : juillet 2007
Messages : 201
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 201
Points : 227
Points : 227
quantite_pro c koi? si c une variable et la valeur du champ , essaye ceci


Code :
1
2
3
$passage="UPDATE approvisionnement SET quantite_appro= ".$quantite_appro."+".$qtestock.", date_appro='".$date."'  WHERE idproduit = '".$resultat1."';  (si idproduit est d type texte sinon ".$resultat1 dans le k contraire)
 
$passage1=mysql_query($passage)or die ("Erreur mysql :
acirfa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h51.


 
 
 
 
Partenaires

Hébergement Web