Signaler

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

Posez votre question Geopra 187Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - Dernière réponse le 14 janv. 2017 à 14:48 par yg_be
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 
Utile
+0
plus moins
Il est où ton WHERE dans ta requête UPDATE ?
Geopra 187Messages 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 ! :)
Répondre
NHenry 13814Messages postés vendredi 14 mars 2003Date d'inscription ModérateurStatut 25 juin 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".
Répondre
Geopra 187Messages 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 ??
Répondre
Donnez votre avis
Utile
+0
plus moins
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]);
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !