Gérer des news
Résolu
Utilisateur anonyme
-
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 !
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:
- Gérer des news
- Gerer stockage google - Guide
- Comment gérer les applications qui se lancent au démarrage - Guide
- Gerer les profils netflix - Guide
- Gerer les cookies - Guide
- Gerer foyer netflix - Accueil - Guide streaming
2 réponses
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 :
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 à :
(faire pareil pour la page mod, avec les champs à modifier)
Voilà qui devrait fonctionner ;-)
Bonne continuation,
Stephane.
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.
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>
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>