Enregistrer valeur tableau html dans table mysql [Résolu]

clem76630 1 Messages postés jeudi 4 décembre 2008Date d'inscription 24 septembre 2009 Dernière intervention - 24 sept. 2009 à 11:44 - Dernière réponse : tpoinsot 345 Messages postés mardi 1 juin 2004Date d'inscription 17 octobre 2014 Dernière intervention
- 24 sept. 2009 à 14:59
Bonjour,

Cela fait longtemps que je m'aide de ce forum lors du développement de mes petits sites ou applications personnel.
Mais la je tombe sur os, car je n'arrive pas a enregistrer toute les données qui sont saisies dans mon tableau HTML pourtant elles s'affichent toutes bien. Seul la dernière ligne s'enregistre alors que je voudrais la totalité.

Si vous avez une petite idée je vous laisse mon code et ma table.

Merci d'avance.

Clem

<?php
connect_sql();

$sql = "SELECT * FROM question ORDER BY id_question";

$requete = mysql_query($sql) or die( "ERREUR MYSQL numéro: ".mysql_errno()."
Type de cette erreur: ".mysql_error()."
" );
if(isset($_POST['valide']))	{
$valide = $_POST['valide'];
}
else {
$valide = 0;
}
if($valide == 1){
echo "lol";
$id_question = mysql_real_escape_string($_POST["id_question"]);

$question = mysql_real_escape_string($_POST['question']);

$reponse_prof = mysql_real_escape_string($_POST['reponse_prof']);

$reponse_eleve = mysql_real_escape_string($_POST['reponse_eleve']);

$query_update = "UPDATE question SET texte_question='".$question."', reponse_prof='".$reponse_prof."' WHERE id_question = '".$id_question."'";
$req_update = mysql_query($query_update);			
header("Location: index.php?id_menu=1");
if(!$req_update)
die("Error saving the record!  Mysql said: '".mysql_error()."'"); 
}



?>
<form method="post" action="index.php?id_menu=1">
<?php
while( $result = mysql_fetch_array($requete) )
{
$id_question = $result[\"id_question\"];
$texte_question = $result[\"texte_question\"];
$reponse_prof = $result[\"reponse_prof\"];
$reponse_eleve = $result[\"reponse_eleve\"];
?>

----

" readonly />,
" />,
" />,
" readonly />,

<?php
}
?>

        


</form>


Table Mysql :

--
-- Base de données: `clement`
--

-- --------------------------------------------------------

--
-- Structure de la table `question`
--

CREATE TABLE IF NOT EXISTS `question` (
  `id_question` int(10) unsigned NOT NULL,
  `texte_question` longtext NOT NULL,
  `reponse_prof` longtext NOT NULL,
  `reponse_eleve` longtext NOT NULL,
  PRIMARY KEY (`id_question`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `question`
--

INSERT INTO `question` (`id_question`, `texte_question`, `reponse_prof`, `reponse_eleve`) VALUES
(1, 'Question 1', 'LOL', 'LOOL'),
(2, 'Question 22', 'LULd', 'LOULd'),
(3, 'Question 3', 'LIL', 'LIIL'),
(4, 'Question 4', 'LAL', 'LAAL'),
(5, 'Salutrrfgffffjjjffffvv', 'Drewdd', 'LEL');
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
tpoinsot 345 Messages postés mardi 1 juin 2004Date d'inscription 17 octobre 2014 Dernière intervention - 24 sept. 2009 à 14:59
3
Merci
A chaque changement de ligne tu perds les valeurs antérieures car tu réutilises les mêmes noms de variables :
- après la ligne 1, id_question = 1;
- aprés la ligne 2, id_question = 2;
etc...
à la fin , tu n'as que la dernière rangée.
si tu veux mettre à jour l'ensemble, il faut un tableau de taille fixe et créer un jeu de variables par rangée:
- id_question1, question1, ...
- id_question2, question2, ...
...
- id_questionN, questionN, ...

Gére un compteur $r incrémenté à chaque <tr>
<td> " size="1" value= "<?php echo $id_question ?>" readonly /> </td>

et quand tu mets à jour, tu fais N updates, 1 pour chaque jeu de valeurs.

Il est plus efficace de présenter son tableau en fixe avec un bouton "modifier" par rangée : tu n'auras qu'un update à la fois et tu ne t'occuperas plus du nombre de rangées.

thip

Merci tpoinsot 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de tpoinsot

Vous n'êtes pas encore membre ?

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

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 et codes sources.

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