Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
J'ai voulu essayer de faire un script PHP pour faire un update sur une table mysql,
mais il ne fonctionne pas, il ne fais aucune erreur, mais ne modifie pas le champ désirée.
Si quelqu'un pourrait éclairer ma lanterne.
Merci d'avance.
if($act == 'modif') // ça veut dire qu'on a cliqué sur le bouton 'modif' d'une ligne, et on a récupéré l'id avec $_GET['id']
{
// je crée un formulaire avec les données récupérées de la table (SELECT) grâce à (WHERE id = $id)
?>
<?php
$result = mysql_query("SELECT * FROM tarifs WHERE id = $id");
while($data = mysql_fetch_array($result))
{
?>
<form action="tarifs.php?id=<?php echo $id;?>" method="post">
<p>services :
<input name="intitule" size="35" value="<?php echo $data["intitule"] ;?>" type="text"/>
</p>
<p>prix 1 :
<input name="prix1" size="35" value="<?php echo $data["prix1"] ;?>" type="text"/>
</p>
<p>prix 2 :
<input name="prix2" size="35" value="<?php echo $data["prix2"] ;?>" type="text"/>
</p>
<p>asterix :
<input name="asterix" size="35" value="<?php echo $data["asterix"] ;?>" type="text"/>
</p>
<input name="Modifier" value="Modifier" type="submit"/>
<input name="Effacer" value="Effacer" type="reset"/>
</form>
<?php
}
if (isset ($_POST['valider']))
{
$intitule = $_POST['intitule'];
$prix1 = $_POST['prix1'];
$prix2 = $_POST['prix2'];
$asterix = $_POST['asterix'];
// Si l'un des champs est vide -> erreur
if (empty ($intitule))
{
echo '<body onLoad="alert(\'Veuillez entrer tous les champs.\')">';
header("refresh:1; URL = 'tarifs.php'");
}
else
{
include('connexion.php');
$intitule = mysql_real_escape_string($intitule) ;
$prix1 = mysql_real_escape_string($prix1);
$prix2 = mysql_real_escape_string($prix2);
$asterix = mysql_real_escape_string($asterix);
$result=mysql_query("UPDATE tarifs SET intitule='".$intitule."', prix1='".$prix1."', prix2='".$prix2."', asterix='".$asterix."' WHERE id='".$id."' " )or die(mysql_error());
//Si il y a une erreur, on crie ^^
if (!$result)
{
die('Requête invalide : ' . mysql_error());
}
else {
//Si tout va bien, on informe que la modification est faite
echo '<p>La modification à été effectué avec succès. <a href=tarifs.php>Retour à l\'administration.</a></p>';
}}}
Hors ligne
Essaye de retirer les cotes sur les champs qui sont des champs numériques :
$result=mysql_query("UPDATE tarifs SET intitule='".$intitule."', prix1=".$prix1.", prix2=".$prix2.", asterix='".$asterix."' WHERE id=".$id )or die(mysql_error());
Tes prix sont des float ? Si oui, ont-il une virgule ou un point ?
Hors ligne
Pages :: 1