begin process at 2012 05 30 23:20:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

enregistrer valeur tableau html dans table mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

enregistrer valeur tableau html dans table mysql

jeudi 24 septembre 2009 à 11:44:53 | enregistrer valeur tableau html dans table mysql

clem76630

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

Code PHP :

<?php
connect_sql();

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

$requete = mysql_query($sql) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>" );
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">
<table>


<?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"];
?>

<tr>
<td> <input type="text" name="id_question" size="1" value= "<?php echo $id_question ?>" readonly /> </td>
<td> <input type="text" name="question" size="50" value= "<?php echo $texte_question ?>" /> </td>
<td> <input type="text" name="reponse_prof" size="30" value= "<?php echo $reponse_prof ?>" /> </td>
<td> <input type="text" name="reponse_eleve" size="30" value= "<?php echo $reponse_eleve ?>" readonly /> </td>
</tr>


<?php
}
?>
</table>
<input type="hidden" name="valide" value="1" />
<input type="submit" value="valide" />

</form>


Table Mysql :

Code :
--

-- Base de donn&#233;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');

jeudi 24 septembre 2009 à 14:59:04 | Re : enregistrer valeur tableau html dans table mysql

tpoinsot

Réponse acceptée !

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> <input type="text" name="id_question<? echo $r ?>" 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



Cette discussion est classée dans : table, mysql, question, id, reponse


Répondre à ce message

Sujets en rapport avec ce message

problème de mise à jour de base de données [ par rildspael ] Ben en fait maintenant j'ai refait ce code, je me suis concentré, j'ai tout analysé mais rien ne marche encore et je ne comprends pas : le voici :Donc question mysql !! aidez moi !!! [ par LoRdKiFlEx ] Comment fait on pour connaitre la valeur du dernier champs d'une table ou comment fait on pour connaitre le nombre de champs dans une table mysql Sélectionner les lignes différentes entre deux tables [ par Mikemadest ] Bonjour,J'ai cherché sans trouver de réponse à mon problème,ce qui m'amène à vous poser cette question !D'avance je m'excuse si j'ai raté la solution Afficher une ligne d'une table mysql [ par Alferox ] Bonjours,bon bin une question de base toute con.Je voudrais afficher uniquement la ligne qui port l'id 2 d'une table. Il n'y a pas plus simple que de MySQL : changement de l'ID dans une table [ par DJDX ] Bonjour groupe!Ma question peut parraître simple, mais je n'ai aucune idée comment résoudre mon "problême".si je tape ce codemysql_select_db($base, Mettre à jour données d'une table [ par yonico ] Petite question d'un debutant :je voudrais mettre à jour les données d'une table mais je n'y arrive pas voilà ce que j'ai mis :$reponse = mysql_query( aficher n'importe quelle table. [ par jchbt ] salut, je cherche a ecrire du code capable de m'afficher n'importe quelle requete et je rame sur l'imbrication d'une boucle. je n'arrive pas a imbriqu auto increment [ par bob ] Bonjour ! Alors voila, j'ai une question qui va etre surement trés simple pour vousvoila le sql de mla table CREATE TABLE `blogs` ( `id` smallint(6) Probleme d'affichage dans une liste déroulante [ par JohnInsane ] Bonjour à tous, Voilà j'ai un problème, j'ai fais un script où l'on choisit une catégorie dans une liste déroulante qui est dans la table cat où j'a MySQL_INSERT_ID mais pour le delete ???? [ par ripoux ] Hello,Peut-être l'aurez-vous compris dans le titre...Je cherche un moyen pour faire un delete de plusieur table relié entre elle.Pour un Insert, il ex


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,187 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales