Php sql requete de modification probleme

Résolu/Fermé
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 - 25 févr. 2008 à 17:09
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 - 25 févr. 2008 à 18:28
Bonjour,

voila je fais une interface pour mon site et insérer des news mais quand je veux modifier une news rien ne se passe.
Je vois pas l'erreur. aidez moi svp :'(


voici ma premiere page: liste_news.php



<?php
include('configuration_sql.php');
// on regarde si on a valider la suppression du message
if(isset($_POST['supprimer'])){
$asup=$_POST['id'];//on prend l'id
$del="delete from news where id=$asup;";
$supprimer=mysql_query($del);//on le supprime de la table
}

if(isset($_POST['modifier'])){
$news_a_modif=$_POST['id'];
header("location: modifier_news.php?modif=$news_a_modif");// on récupère l'id de la news à modifier puis on la passe dans la barre d'adresse

}


?>
<h1><a href=ajouter_news.php>Ajout d'une news</a></h1>
<?php
$requete = mysql_query('SELECT * FROM news ORDER BY id DESC;');
?>
<table>
<tr><th>Titre</th><th>Date</th><th>Modifier</th><th>Supprimer</th></tr>
<?php

while ($enregistrement = mysql_fetch_array($requete, MYSQL_BOTH)){
echo"<form method=post action='{$_SERVER['PHP_SELF']}'>";//on cree un formulaire pour chaque news
echo"<tr><td>{$enregistrement['titre']}</td>";
$date=date('d/m/Y',$enregistrement['date_msg']);
echo"<td> {$date} <input type='hidden' name='id' value='{$enregistrement['id']}'></td>";//on enregistre l'id pour chaque enregistrement avec la création d'un "bouton caché"
echo"<td><input type='submit' name='modifier' value='Modifier'></td>";
echo"<td><input type='submit' name='supprimer' value='Supprimer'></td>";
echo"</tr></form>";
}
?>
</table>
<a href=zone_admin.php>Retour au menu administration</a>
</form>



ma seconde page : modifier_news.php




<?php
include("configuration_sql.php");

//on veut modifier
if(isset($_POST['modifier'])){
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
echo $contenu;
//on met à jour la news dans la table
$modification=mysql_query("UPDATE news SET titre='".mysql_real_escape_string($titre)."', contenu='".mysql_real_escape_string($contenu)."' WHERE id='".mysql_real_escape_string($id_news_a_modif)."'");
}else{
$id_news_a_modif=$_GET['modif'];//on a pas encore modifier, on prend l'id sur l'url
$requete = mysql_query("SELECT * FROM news WHERE id='$id_news_a_modif'");// on recupère la news pour l 'afficher dans le formulaire
$enregistrement=mysql_fetch_array($requete);
$titre=$enregistrement['titre'];
$contenu=$enregistrement['contenu'];
}


// ce formulaire sert à la modification
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
echo $contenu;//on affiche le contenu à modifier
echo"
</textarea></p>
<input type='submit' class='button' name='modifier' value='Modifier la news'>
</form>";


echo"<a href=zone_admin.php>Retour au menu administration</a>";

?>
A voir également:

3 réponses

//on met à jour la news dans la table
$modification=mysql_query("UPDATE news SET titre='".mysql_real_escape_string($titre)."', contenu='".mysql_real_escape_string($contenu)."' WHERE id='".mysql_real_escape_string($id_news_a_modif)."'") <or die ('Erreur : '.mysql_error());
ca va te permettre de voir l'erreur
0
Dans ta page modifier_news.php
Fais des "echo" de tes différentes valeurs que tu veux récupérer. Si l'une d'entre elles ne s'affiche pas il est normal que ca ne fonctionne pas...
Effectue cela sur chacune de tes pages et si les valeurs passent bien reviens poster...

a+
0
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 7
25 févr. 2008 à 18:28
MERCI POUR TOUT CA FONCTIONNE J'AI TROUVE MON ERREUR ;)

j'ai rajouté ca : <input type='hidden' name='id' value=$id_news_a_modif></td>
parce qu il ne retenait pas l'id;
0