Page 1 sur 1

Bouton qui n'envois rien : /

Posté : 28 juin 2005, 11:53
par castelli
Bonjour ,
J'ais créer un formulaire de mise a jour de ma base de donnée de fournisseur hors le probleme c'est que lorsque j'appuis sur "mise a jour " (mon bouton ) sa marche pas ..

rien ne se passe
(meme pas l'affichage des requetes )

si quelqun pouvait regarder me dire ou j'ai fait une boulette sa serait gentil car la suis un peu perdu lol , en plus j'ai meme aps d'affichage d'erreur ..
merci encore
<?php
$reduc3 = $_POST['reduction'];
$saic3 = $_POST['saic'];
$reduc4 = (1-$reduc3);
$saic4 = (1-$saic4);
$host = '******'; 
$user = '*****'; 
$pass = '******'; 
$db = '**********';

// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$select ="select * from fournisseur ";
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

$select2 ="select * from frais ";
$result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() );
$row2 = mysql_fetch_assoc($result2);

if(isset($_POST['envoi']))
{
?>
<h3> Tableau indiquant les reduction en fonction des fournisseurs ..!!</H3>
<p>Vos modifications ont bien eté prisent en compte ..!!</p>
<table border=1><form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
  <TR bgcolor=\"#CCFFCC\">
    <TH>Fournisseur</TH>
    <TH>Reduction et Frais</TH>
  </TR>
<?php
while($row = mysql_fetch_assoc($result))
{ 
$reduc2 = preg_replace("#,#", ".", $row['reduction']);
$reduc= (1-$reduc2);


?>
  <tr>
    <td><font face='Verdana' size='2'><b><?php echo($row['fournisseur2']); ?></b></font></td>
    <td><font face='Verdana' size='2'>-<input type="text" name="reduction" value="<?php echo "$reduc"; ?>"></font></td>
  </tr>
<?php

}
$saic2 = preg_replace("#,#", ".", $row2['saic']);
$saic = ($saic2-1);
?>
<TR>
		<td><b>Frais de SAIC<b></td>
		<td><font face='Verdana' size='2'>+<input type="text" name="saic" value="<?php echo "$saic"; ?>"</font></td>
	</tr>
<tr><td></td><td><div style="text-align:left;"><br><input type="submit" class="verif" name="envoi" value="mise a jour" /></td></tr>
</form></table>
<?php
$host = '*******'; 
$user = '*******'; 
$pass = '*****'; 
$db = '*******';

// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$query="UPDATE fournisseur SET reduction='".$reduc4."' where fournisseur2 like '".$row['fournisseur2']."'";

$query2="UPDATE frais SET saic='".$saic4."' where id like '".$row2['id']."'";

echo $query;

echo $query2;
echo $query;
echo $query2;
}
else
{
?>
<h3> Tableau indiquant les reduction en fonction des fournisseurs ..!!</H3>
<table border=1><form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
  <TR bgcolor=\"#CCFFCC\">
    <TH>Fournisseur</TH>
    <TH>Reduction et Frais</TH>
  </TR>
<?php
while($row = mysql_fetch_assoc($result))
{ 
$reduc2 = preg_replace("#,#", ".", $row['reduction']);
$reduc= (1-$reduc2);


?>
  <tr>
    <td><font face='Verdana' size='2'><b><?php echo($row['fournisseur2']); ?></b></font></td>
    <td><font face='Verdana' size='2'>-<input type="text" name="reduction" value="<?php echo "$reduc"; ?>"></font></td>
  </tr>
<?php


}
$saic2 = preg_replace("#,#", ".", $row2['saic']);
$saic = ($saic2-1);
?>
<TR>
		<td><b>Frais de SAIC<b></td>
		<td><font face='Verdana' size='2'>+<input type="text" name="saic" value="<?php echo "$saic"; ?>"</font></td>
	</tr>
<tr><td></td><td><div style="text-align:left;"><br><input type="submit" class="verif" name="envoi" value="mise a jour" /></td></tr>
</form></table>
<?php
}
?>

Posté : 28 juin 2005, 11:55
par DroP
il te faut des balises <form> </form> qui entoure ton bouton et les champs que tu veut faire passer.

Posté : 28 juin 2005, 12:00
par castelli
Yes merci c bon j'ai editer le code :)

maintenant j'ai une erreur sql : // lol

Posté : 28 juin 2005, 12:01
par DroP
il faut le mettre avant ton form

met le avant ton 1er <input ....>
<TR>
        <td><b>Frais de SAIC<b></td>
        <td><form action="<?php $_SERVER['PHP_SELF'] ?>" method="post"><font face='Verdana' size='2'>+<input type="text" name="saic" value="<?php echo "$saic"; ?>"</font></td>
    </tr>
<tr><td></td><td><div style="text-align:left;"><br><input type="submit" class="verif" name="envoi" value="mise a jour" /></form></td></tr> 

Posté : 28 juin 2005, 12:10
par castelli
J'ai réediter :)

J'ais mis mon form au debut du tableau pour eviter toute erreur ..

mais j'ais toujours une erreur sql..
Erreur : You have an error in your SQL syntax near '' at line 1
pourtant ma synstaxe a coté des updates est bonne nan?

Posté : 28 juin 2005, 12:18
par zeus
Quand tu fait un LIKE, il faut des ', et SORTEZ LES VARIABLES DES CHAINES

j'ai l'impression d'être un précheur dans le désert
$query="UPDATE fournisseur SET reduction='".$reduc4."' where fournisseur2 like '".$row['fournisseur2']."'";

$query2="UPDATE frais SET saic='".$saic4."' where id like '".$row2['id']."'"; 

Posté : 28 juin 2005, 13:20
par castelli
J'ais plus d'erreur c'est deja pas mal :) lol merci zeus

mais le probleme c'est que sa met rien a jour .

pourtant mon echo $query; a l'air bon..:?
UPDATE fournisseur SET reduction='0.92' where fournisseur2 like ''UPDATE frais SET saic='0.94' where id like '1'


[/quote]

Posté : 28 juin 2005, 13:27
par zeus
Dans la 1ere requete, tu as un pb => LIKE ''. ta variable est vide
UPDATE fournisseur SET reduction='0.92' where fournisseur2 like ''
Est-ce que dans la table "frais", tu as un enregistrement dont l'id est à 1 ?
UPDATE frais SET saic='0.94' where id like '1'

Posté : 28 juin 2005, 13:33
par castelli
Pour la seonde requete j'ai bien un enregistrement dont le champ id =1

pour ce qui est de la premiere table fournisseur , en faite j'aimerai quelle me mette a jour tout les enregistrement car Pour etre plus precis le formulaire affiche une liste de mes fournisseurs et les reductions que chacun mette en vigueur il s'affiche comme des input donc j'aimerai quand je valide le formuliare mettre a jour tout la table et que seul la valeur de l'enregistrement que j'ai changer soit modifier .
vous avez compris ??
je fais comment dans ce cas la?

(desolé si je susi pas tres concis dans mon explications... :? :? mais j'ai moi meme du mal a voir se que je dois faire )

Posté : 28 juin 2005, 13:38
par zeus
1ere requete : si tu veux modifier toute ta table, pas besoin de WHERE
UPDATE fournisseur SET reduction='0.92'
2eme requete : si le champ "saic" est de type entier, il ne faut pas les ' autour. Est-ce le cas ?

Posté : 28 juin 2005, 13:42
par castelli
le type du champ saic est varchar (30 )


sinon pour la premiere requete , je veut pas mettre a jour toute la table avec le meme resultat mais avec celui qui sera dans l'input

je sait pas si je m'explique bien

:?

Posté : 28 juin 2005, 13:45
par zeus
Dans la 2eme requete, si ton identifiant est de type numerique, essaye ça :

Code : Tout sélectionner

UPDATE frais SET saic='0.94' where id=1
Ta syntaxe était juste mais on sait jamais ... :lol:

Sinon j'ai pas saisi ton explication avec les inputs ? :shock:

Posté : 28 juin 2005, 13:53
par castelli
Lool alors vé faire simple :)

bon jai mon formulaire ou tout les resultats de ma table fournisseur s'affiche
y'en a 9 .

il y a deux colone une ou il y a le nom du fournisseur et l'autre au il y a la valeur de la reduction offerte par chacun

la valeur des resultats de la reduction s'affiche sous forme :
<input type="text" name="reduction" value="<?php echo "$reduc"; ?>">
donc en faite le truc que je veut c'est que si on change la valeur de la reduction d'un ou plusieur fournisseurs ont met a jour tout en meme temps a l'aide d'un bouton ?

c mieu comme sa ??

sinon pour la requete 2 sa marche toujours pas : //

Posté : 28 juin 2005, 14:01
par castelli
C'est possible deja ou pas?

helpp :)lol