Bonsoir !


Description de la situation :

J'ai une page journal.php qui récupère les valeurs des actualités postés dans une base de données MySQL et les affiches dans un champs texte. Suite à quoi, l'utilisateur peut décider de cliquer sur le bouton modifier ou supprimer (pour modifier ou supprimer l'actualité).

Pour ce faire j'utilise une boucle while.

La page journal_modifier-supprimer.php récupère la valeur des champs texte ainsi que l'ID de l'actualité afin de procéder à sa modification ou à sa suppression dans la base de données.

Problème :

La modification ne fonctionne pas.

Lorsque je clique sur modifier (peu importe l'actualité) sur ma page journal.php, le résultat sur ma page journal_modifier-supprimer.php affiche toujours la même valeur (id,titre,texte).



journal.php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
// Connexion à la base de données
$connexion = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
 
// Préparation de la requête à l'exécution
$req = "SELECT * FROM site_journal ORDER BY date DESC";
$req_finale = $connexion->query($req);
 
// Récupération et affichage du résultat de la requête
while($lignes=$req_finale->fetch(PDO::FETCH_OBJ))
{
	echo '<tr><input type="hidden" name="id" value="'.$lignes->id.'">';
	echo '<td valign="top"><input name="titre" value="'.$lignes->titre.'" size="30" maxlength="120"><br>'.$lignes->id.'</td>';
	echo '<td><textarea name="texte" rows="5" cols="40">'.$lignes->texte.'</textarea></td>';
	echo '<td align="center"><input type="submit" name="modsupp" value="Modifier"><input type="submit" name="modsupp" value="Supprimer"></td></tr>';
}
 
// Fermeture du curseur de la requête
$req_finale->closeCursor();
journal_modifier-supprimer.php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
// Variables de modification/suppression
$modsupp = $_POST['modsupp'];
 
// Variables
$date = time();
$id = $_POST['id'];
$titre = $_POST['titre'];
$texte = $_POST['texte'];
 
if ($modsupp=="Modifier") {	
	// Ajout de la news en fonction des vérification
	if ($titre!="" AND $texte!="") {
		// Connexion à la base de données
		try {
  			$connexion = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
		} catch (PDOException $e) {
  			echo 'Echec de la connexion : ' . $e->getMessage();
		}
 
		// Préparation de la requête à l'exécution
		$req = "UPDATE site_journal SET titre='$titre',date='$date' WHERE id=$id";
		$req_finale = $connexion->exec($req) or die($connexion->errorInfo());
 
		// Exécution de la requête
		//$req_finale->execute();
 
		// Fermeture du curseur de la requête
		$req_finale->closeCursor();
 
		echo "Votre message a bien été modifié dans le journal !<br />
		<a href='journal.php'>Cliquez ici pour retourner à la page précedente.</a>";
	}
}


N'étant pas un développeur invétéré, je ne peux être sûr du problème. Mais j'ai tendance à penser que cela viendrait de la ligne while($lignes=$req_finale->fetch(PDO::FETCH_OBJ)).

Qu'en pensez-vous ? Ai-je fait une erreur quelque part ?


En vous remerciant du temps que vous m'aurez accordé à me lire et peut-être à me répondre ! :-)