Bouton qui n'envois rien : /

Eléphant du PHP | 450 Messages

28 juin 2005, 11:53

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
}
?>
Modifié en dernier par castelli le 28 juin 2005, 13:13, modifié 3 fois.
Alone in the dark , I smile :D

Eléphant du PHP | 91 Messages

28 juin 2005, 11:55

il te faut des balises <form> </form> qui entoure ton bouton et les champs que tu veut faire passer.
YaTTa :D

Eléphant du PHP | 450 Messages

28 juin 2005, 12:00

Yes merci c bon j'ai editer le code :)

maintenant j'ai une erreur sql : // lol
Alone in the dark , I smile :D

Eléphant du PHP | 91 Messages

28 juin 2005, 12:01

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> 
YaTTa :D

Eléphant du PHP | 450 Messages

28 juin 2005, 12:10

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?
Alone in the dark , I smile :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 juin 2005, 12:18

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']."'"; 
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 450 Messages

28 juin 2005, 13:20

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]
Alone in the dark , I smile :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 juin 2005, 13:27

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'
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 450 Messages

28 juin 2005, 13:33

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 )
Alone in the dark , I smile :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 juin 2005, 13:38

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 ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 450 Messages

28 juin 2005, 13:42

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

:?
Alone in the dark , I smile :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 juin 2005, 13:45

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:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 450 Messages

28 juin 2005, 13:53

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 : //
Alone in the dark , I smile :D

Eléphant du PHP | 450 Messages

28 juin 2005, 14:01

C'est possible deja ou pas?

helpp :)lol
Alone in the dark , I smile :D