Gérer des news

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour tout le monde!

J'ai un épineux problème. Je dois réaliser un site web pour mon CFA avec plein de choses dont un système de news.
J'ai déjà fait la page d'ajout de news. Le problème c'est la suppression et la modification.
Mes news sont stockées dans une base de données Mysql. J'aimerai gérer mes news de cette manière:

-Chaque news est affiché dans une cellule d'un tableau à une seule colonne. Dans chacunes de ces cellules (et donc pour chaque news) je dois placé un bouton Modifier et Supprimer.

Pour le moment pas de problèmes. Seulement voila, lorsque je clique sur le bouton Supprimer de n'importe quelle news, c'est toujours la même news qui est supprimé : la dernière enregistrée.

voici une partie de mon code :


<?php
$connexion=mysql_connect($hote,$login,$password);
$selection=mysql_select_db($base,$connexion);
$req="SELECT * FROM news WHERE 1 ORDER BY id DESC";^
$result=mysql_query or die(mysql_error());
while(ligne=mysql_fetch_array($result))
{
?>

<TR>
<TD>

<?php
echo "DATE : ".$ligne['date']."<BR><BR>TITRE : ".$ligne['titre']."<BR><BR>MESSAGE : ".$ligne['message']."<BR><BR>";
?>

<CENTER>
<FORM ACTION="sup.php" METHOD="post">
<P>
<INPUT TYPE="submit" VALUE="Supprimer">
</P>
</FORM>
<FORM ACTION="mod.php" METHOD="post">
<P>
<INPUT TYPE="submit" VALUE="Modifier">
</P>
</FORM>

<TD>
<TR>

<?php
}
?>


Merci d'avance !
A voir également:

2 réponses

ACNet Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour,

c'est normal, à aucun moment tu n'indiques dans ton formulaire quelle news supprimer.

Tu dois indiquer son id

voila à quoi doit ressembler ton formulaire :


 <FORM ACTION="sup.php" METHOD="post">
<P>
<input type="hidden" name="id" value="<?=$ligne["id"]?>">
<INPUT TYPE="submit" VALUE="Supprimer">
</P>
</FORM>
<FORM ACTION="mod.php" METHOD="post">
<P>

<input type="hidden" name="id" value="<?=$ligne["id"]?>">
<INPUT TYPE="submit" VALUE="Modifier">
</P>
</FORM> 



J'ai simplement ajouté pour chacun de tes deux formulaires un champ caché transmettant l'id de la news dans la variable "ID"


sur ta page suppr tu devras donc faire quelque chose qui ressemble à :



<?
$id_news = intval($_POST["id"]);
//recupere la variable $id et la transforme en entier , la stock dans la variable $id_news


$req=mysql_query("delete from news where id='$id_news' ");
//signifie : supprimer les enregistrements de news ou id = $id_news

?>


(faire pareil pour la page mod, avec les champs à modifier)

Voilà qui devrait fonctionner ;-)

Bonne continuation,

Stephane.
0
Utilisateur anonyme
 
Bonjour!

Pourquoi PHP me met :

Erreur de syntaxe près de ''WHERE id=2' à la ligne 1 alors que:

-Après recherche, les lignes qui causes problèmes sont à la ligne 236 à 239

- Il n'y a aucune erreur de syntaxe :

$req8="UPDATE news SET titre='$titre' WHERE id=$id";
result8=mysql_query($req8) or die(mysql_error());
req9="UPDATE news SET info='$message' WHERE id=$id";
result9=mysql_query($req9) or die(mysql_error());


Il me met les mêmes erreurs sur les requêtes utilisant la variable $id sachant que cette variable est égal à intval($_POST['id']) et que $_POST['id'] vient du hidden du formulaire:


<FORM ACTION="gnews.php" METHOD="post">
<P CLASS="ident">
<INPUT TYPE="hidden" NAME="id" VALUE="<?php echo $ligne10['id']; ?>">
<INPUT TYPE="hidden" NAME="mod" VALUE="1">
<INPUT TYPE="submit" VALUE="Modifier">
</P>
</FORM>
0
Utilisateur anonyme
 
J'ai trouvé l'erreur, j'ai oublié htmlentities(), du coup lorsqu'il y a un ! php génère une erreur!
0