Salut à tous,
Je réalise un formulaire ayant pour but de modifier les news d'un site via SQL, rien de bien fou.
Pourtant je ne comprends pas un problème, du moins, je ne vois pas comment faire.
Le code du formulaire :
<!-- Modifier une news -->
<!-- Début du tableau -->
<table>
<!-- Titre du tableau -->
<caption id="modifier_news">Modifier une news</caption>
<!-- En-tête du tableau -->
<thead>
<tr>
<th>ID</th>
<th>Titre</th>
<th>Contenu</th>
<th>Date</th>
<th>Heure</th>
<th>Modifier</th>
</tr>
</thead>
<!-- Corps du tableau -->
<tbody>
<!-- Début du formulaire -->
<form method="post" action="traitement_modification_news.php">
<fieldset>
<?php
// Connexion à la BDD :
include ("connexion_sql.php");
// Récupération des news :
$reponse = mysql_query("SELECT * FROM news ORDER BY id DESC") or die(mysql_error());
// Début de la boucle d'affichage des news :
while ($donnee = mysql_fetch_array($reponse))
{
?>
<!--Début d'une ligne -->
<tr>
<!-- ID -->
<td><textarea name="id_news" disabled="disabled" ><?php echo $donnee['id']; ?></textarea></td>
<!-- Titre -->
<td><textarea name="titre_news"><?php echo $donnee['titre']; ?></textarea></td>
<!-- Contenu -->
<td><textarea name="contenu_news"><?php echo $donnee['contenu']; ?></textarea></td>
<!-- Date -->
<td><textarea name="date_news"><?php echo $donnee['date']; ?></textarea></td>
<!-- Heure -->
<td><textarea name="heure_news"><?php echo $donnee['heure']; ?></textarea></td>
<!-- Bouton d'envoi -->
<td><input class="envoyer" type="submit"></input></td>
<!-- Fin d'une ligne -->
</tr>
<?php
}
?>
</tbody>
</fieldset>
<!-- Fin du formulaire -->
</form>
Ce formulaire semble bien marcher.
Cependant, voici la page traitement_modification_news.php :
Et là c'est le drame, si j'ai plus d'une news, en cliquant sur le bouton valider face à la news 2, le traitement_modification_news.php me renvoit les information de la news 1.
Je vous rajoute deux screens afin que vous visualisiez mieux le système.
Ici je clique sur le valider de la news 2 :
Ici, la page de traitement récupère les infos de la news 1 :
Si vous avez bien compris, mon problème sera résolut quand en cliquant sur le valider face à la news 2, le traitement m'affichera les données de la news 2.
Je ne sais pas si c'est une bonne méthode, mais il faudrait que tu fasse un fomulaire par ligne au lieu de faire un formulaire pour tout. Car là, ça envoi bien les données de ID=2 mais elles sont écrasées par les données de ID=1
Je me doute que cette méthode marche, mais je suis sur qu'une façon plus propre existe.
Merci quand même, je la garde en tête en attendant une meilleur proposition
Je te laisse modifier ton code en conséquence. Oublie pas de récupérer dans ton fichier traitement_modification_news.php la valeur d'id news entré en paramètre avec $_GET
Il y a juste un problème d'affichage qui vient d'apparaitre semble-t-il.
Le tableau n'est plus dans son fieldset, et il va tout en bas de la page, et idem pour un autre tableau en bas, qui lui va après le pied de page !
Pourtant, la page est faite d'includes, c'est assez incroyable.
Voici la page administration :
<!-- Début de la page d'administration -->
<div id="corps" >
<p>
<span class ="titre_page" >Administration</span><br />
<?php
include ("ajout_news.php");
include ("modification_news.php");
include ("ajout_concert.php");
include ("modification_concert.php");
?>
</p>
</div>
<!-- Fin de la page d'administration -->
Et voici un screen qui montre comment est afficher la page :
Je pense que le fait qu'il y ait une boucle dans le fieldset doit jouer un rôle mais c'est peut commun ...
Open your mind!
Un formulaire pour modifier plusieurs news
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.