Problème d'UPDATE

Eléphanteau du PHP | 26 Messages

21 sept. 2012, 14:11

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.

	 /////////////////////////////////////   update /////////////////////////////////////////////////////////////// 

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>';
}}}


ViPHP
ViPHP | 2577 Messages

21 sept. 2012, 14:24

Tu peux regarder du coté de mysql_affected_rows() : http://php.net/manual/fr/function.mysql ... d-rows.php
Tu auras le nombre de lignes modifiées.

Tu peux également afficher la requete pour voir si tout va bien (bonnes valeurs).

ViPHP
xTG
ViPHP | 7331 Messages

21 sept. 2012, 14:25

As-tu le message indiquant que la modification a été effectuée ?