Modifier par un formulaire une valeur mysql

Résolu/Fermé
lauraM - 6 juin 2008 à 15:30
 lauraM - 6 juin 2008 à 15:47
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

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 mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89
6 juin 2008 à 15:42
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
Merci "Alex.css" ton conseil à resolu mon problème !!!
Merci comme même à macgawel.
0