Mettre à jour un enregistrement sql

Résolu
Signaler
Messages postés
9
Date d'inscription
lundi 13 octobre 2008
Statut
Membre
Dernière intervention
14 avril 2009
-
Messages postés
9
Date d'inscription
lundi 13 octobre 2008
Statut
Membre
Dernière intervention
14 avril 2009
-
Bonjour,

J'aimerais mettre à jour un champ en particulier d'un enregistrement dans une table sql.
(Le champ en question : "restaurant" dans la table "edit" que je compte aller cherché par id "1")
J'arrive à afficher le contenu que je souhaite modifier, cependant à chaque fois que je modifie le contenu dans le textarea celui-ci se vide automatiquement et ne se modifie pas.

J'espère que vous pourrez m'aidé, je suis vraiment pas bon alors faudra surement expliquer le mieux possible.
Merci d'avance

J'ai fais ca en deux pages :

ma page index.php :
<?php
  $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); 
  mysql_select_db('bdd',$db) or die('Erreur de selection '.mysql_error());   $sql 'SELECT restaurant FROM edit WHERE id "1"'; 
 $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); 
 $data = mysql_fetch_array($req); 
 
 mysql_free_result ($req); 
 mysql_close (); 
 ?>
 <form method="post" name="editer" action="Modification.php">
 <textarea name="contenu" cols="50" rows="15"><?php echo $data['restaurant']; ?></textarea>
 
 </form>

ma page Modification.php :
<?php
  if(isset($_POST['restaurant'])) { $restaurant =$_POST['restaurant'];  }

  
  else 
  { 
  $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); 
  mysql_select_db('bdd',$db) or die('Erreur de selection '.mysql_error()); 
  $sql = "UPDATE edit SET restaurant='$restaurant' WHERE id='1'"; 
  
  mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); 
  
  echo 'Les modifications ont étés effectuées avec succès. Retour'; 
  
  mysql_close(); 
  } 
?> 

6 réponses

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Je n'ai que parcouru, mais :
mysql_free_result ($req);
mysql_close (); 
> ça ne sert à rien, sauf si tu refais une autre connexion à une autre base dans le reste de ton script > à virer

Où as tu vu une variable POST qui se nomme 'restaurant' ?? ... c'est 'contenu', non ?

if(isset($_POST['restaurant'])) { $restaurant=$_POST['restaurant'];  } else  { 
=>
if (isset($_POST['contenu'])) $restaurant = $_POST['contenu'];

mysql_close(); 
=> ne sert à rien

Cordialement,

Kohntark -
Messages postés
67
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
27 décembre 2010

si tu vire le

}else{

ça devrait fonctionner
Messages postés
9
Date d'inscription
lundi 13 octobre 2008
Statut
Membre
Dernière intervention
14 avril 2009

En bougeant le else ca n'efface plus le contenu déjà présent mais ce ne le modifie toujours pas.

La confirmation ne s'affiche pas non plus.

J'ai également testé le script corrigé de cette page :
http://www.phpcs.com/forum/sujet-UPDATE_1251254.aspx

Ca ne marche pas non plus. Depuis hier j'ai au moins testé une dizaine de script d'update je désespère je vois pas ou est le soucis à tout les coups les modifications ne sont jamais pris en compte.
Messages postés
9
Date d'inscription
lundi 13 octobre 2008
Statut
Membre
Dernière intervention
14 avril 2009

Salut kohn,

Effectivement j'ai vu hier en reparcourant X fois mon code que c'était contenu au lieu de restaurant. Vraiment un boulet. Je cherchais des problèmes la ou il n'y en avait pas.

Merci également pour tes explications.
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
le "boulet" c'est de ne pas venir poster ici que tu as trouvé la solution.

Cordialement,
 

Kohntark -
Messages postés
9
Date d'inscription
lundi 13 octobre 2008
Statut
Membre
Dernière intervention
14 avril 2009

Tellement dans l'euphorie que mon script marche enfin que j'ai oublier, enfin ton message ne m'aura pas servi à rien.