Système de news, l'édition ne fonctionne pas [Résolu]

Geopra 187 Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - 14 janv. 2017 à 12:57 - Dernière réponse : yg_be 4140 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention
- 14 janv. 2017 à 14:48
Bonjour,
J'ai créé un petit système de news pour mon site, avec un lien pour éditer la news, le soucis, c'est que lorsque j'en modifie une, toutes les news se modifient, et prennent la même valeur que l'initiale...

J'imagine qu'il s'agit d'une erreur au niveau de l'id de la news, mais je ne vois pas d'où elle pourrait provenir... :)

Voici le code :

<?php
if(!empty($_POST)){
        $erreurs = array();
if(empty($_POST['news_title'])){
	$erreurs['news_title'] = "Pas de titre !";
	}
if(empty($_POST['news_content'])){
	$erreurs['news_content'] = "Pas de contenu !";
	}
if(empty($erreurs)){
	$req = $pdo->prepare("UPDATE news SET news_title = ?, news_content = ?");
	$req->execute([$_POST['news_title'], $_POST['news_content']]);
	echo "Modification effectuée !";
	header('location: index.php');
}
}

$req = $pdo->prepare("SELECT * FROM news WHERE id = ?");
$req->execute([$_GET['id']]);
$update_news = $req->fetch(PDO::FETCH_ASSOC);

$req = $pdo->prepare("SELECT * FROM news WHERE id = ?");
$req->execute([$_GET['id']]);
$update_news = $req->fetch(PDO::FETCH_ASSOC);

if(empty($update_news)){
	die('Cet id n\'existe pas !');
}
?>

<form action="" method="POST">
<div>
        <label for="">Titre :</label>
        <input type="text" name="news_title" value="<?php echo $update_news['news_title']; ?>"/>
</div>
<div>
	<label for="">Contenu :</label>
	<textarea name="news_content"><?php echo $update_news['news_content']; ?></textarea>
</div>
<button type="submit">Envoyer</button>
</form>


Merci d'avance pour votre aide ! :)

Afficher la suite 

5 réponses

Répondre au sujet
NHenry 14003 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 14 janv. 2017 à 13:33
0
Utile
3
Il est où ton WHERE dans ta requête UPDATE ?
Geopra 187 Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - 14 janv. 2017 à 13:35
ah oui exact, forcément... XD merci ! :)
NHenry 14003 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 14 janv. 2017 à 13:38
Si la question est résolu, merci de cliquer sur le bouton "Marquer comme résolu".
Geopra 187 Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - 14 janv. 2017 à 14:12
fait pas tout à fait, car je fais des tests depuis tt à l'heure, et visiblement, je ne place pas le "WHERE" là où il faudrait, où doit-il être mis ??
Commenter la réponse de NHenry
yg_be 4140 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 14 janv. 2017 à 14:48
0
Utile
bonjour. par exemple:
$newsid=$_GET['id'];
if(empty($erreurs)){
	$req = $pdo->prepare("UPDATE news SET news_title = ?, news_content = ? WHERE id = ?");
	$req->execute([$_POST['news_title'], $_POST['news_content'],$newsid]);
Commenter la réponse de yg_be