Modifier par un formulaire une valeur mysql

Résolu
lauraM -  
 lauraM -
Bonjour,
J'essai actuellement de créer un petit formulaire en php permettant à l'utilisateur de modifier une valeur d'un champ dans ma base de données mysql.
Malheureusement je dois avoir des erreurs dans mon code car quand je click sur modifier rien ne se passe.
Ma base de donnée : 'test'
Ma table : 'intervention'
Mon champ (à modifier) : 'Société'

Mon formulaire.php :

<html>
<title>Société</title>
<head></head>
<body>

<?php
$servername='localhost';
$username='root';
$password='';
$connexion=mysql_connect($servername,$username,$password);
mysql_select_db("test");
?>

<form method="post" action="modif.php">
<fieldset id="Début d'intervention" style="width=480px; height=130px">
<legend align=top>Modifier le nom d'une société :</legend>
<blockquote>Choisissez le nom de la société que vous voulez modifier :</blockquote>
<select name="modifSociete">
<?php
$sql= "SELECT DISTINCT `intervention`.`Société` FROM intervention WHERE (`intervention`.`Société` <> '') ORDER BY `intervention`.`Société` ASC";
$res=mysql_query($sql);
echo "<option>Choisissez une société</option>\n";
while($val=mysql_fetch_array($res))
{
echo "<option>".$val["Société"]."</option>\n";
}
?>
</select><br>
<blockquote>Veuillez entrer le nouveau nom de la société :</blockquote>
<input type="text" name="nouvNomSoc"><br><br>
<input type="submit" name="modifier" value="Modifier">
</form>
<?
mysql_close();
?>

</body>
</html>

Mon fichier 'modif.php' :

<?php
$soc=$_POST['nouvNomSoc'];
$mod=$_POST['modifSociete'];
if((empty($soc)) && (empty($mod)))
{
echo "Erreur, la page est vide!";
}
else
{
$servername='localhost';
$username='root';
$password='';
$connexion=mysql_connect($servername,$username,$password) or die('Erreur de connexion '.mysql_error());
mysql_select_db("test", $connexion) or die('Erreur de selection '.mysql_error());
$sql8="UPDATE intervention SET Société='$soc' WHERE Société='$mod'";

mysql_query($sql8) or die('Erreur SQL !'.$sql8.'<br>'.mysql_error());
echo 'Les modifications ont étés effectuées avec succès.';
mysql_close();
}
?>
A voir également:

3 réponses

Alex.css
 
Bonjour...
Cette phrase : $sql8="UPDATE intervention SET Société='$soc' WHERE Société='$mod'";

Modifie là par :
$sql8="UPDATE `intervention` SET `Société`='".$soc."' WHERE `Société`='".$mod."'";


Cordialement,
Alex.css
0
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
Bonjour.

Je pense qu'il faudrait mettre
echo "<option value='"..$val["Société"]."'>".$val["Société"]."</option>\n"; 


Tu peux vérifier ce que tu reçois dans modif.php :
if ( isset ($_POST['modifSociete']) ) {
   $soc = $_POST['modifSociete'];
   if ( $soc = "") {
      die ("Erreur : société à modifier est vide");
   }
}
else {
   die ("Erreur : pas de Société à modifier envoyée");
}

Et pareil pour le $_POST['nouvNomSoc']

Au passage : si ta table est "bien" faite, tu devrais avoir un ID en clé primaire => Mets-le en "value" pour ton formulaire, et utilise-le pour l'UPDATE....
0
lauraM
 
Merci "Alex.css" ton conseil à resolu mon problème !!!
Merci comme même à macgawel.
0