Bonjour tout le monde,
J'essaie de mettre une table MYSQL nommée "etudiants" à jour.
J'obtiens bien les valeurs de la table dans des zones de texte.
Je peux alors modifier les valeurs mais lorsque je clic sur le bouton, la table ne se met pas à jour.
Le nombre de ligne est bien envoyé à l'autre page (MettreAJour qui est l'action du formulaire).
Je vous laisse mon code, ça sera je pense, un peu plus parlant :
et voic le code de "MettreAJour.php" qui contient le code SQL qui devrait mettre à jour la table :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 <?php $compteur = 0; # script qui permet de créer des zones de texte à la volée et d'afficher le nom des champs de la table # variable qui contient le nom de ma base de données. $dbname = 'deliberations'; $link = mysql_connect('localhost', 'root', 'mdp'); if(!$link) { echo 'Impossible de se connecter à MySQL'; exit; } // Rendre la base de données deliberation, la base courante $db_selected = mysql_select_db($dbname, $link); if (!$db_selected) { die ('Impossible de sélectionner la base de données : ' . mysql_error()); } /*echo '<form action="MettreAJour.php?NbLignes='.$compteur.'" method="post" name="frmSaisie" id="frmSaisie">'; echo '<table border="1">'; $query = mysql_query("SELECT * FROM .$_POST[select_Nom_Tables] LIMIT 20") or die (mysql_error());*/ echo '<table border="1">'; $query = mysql_query("SELECT * FROM .$_POST[select_Nom_Tables] LIMIT 20") or die (mysql_error()); echo '<form action="MettreAJour.php?NbLignes='.mysql_num_rows($query).'" method="post" name="frmSaisie" id="frmSaisie">'; echo '<tr>'; for($i=0;$i<mysql_num_fields($query);$i++) { echo '<th>'.mysql_field_name($query,$i).'</th>'; } echo '</tr>'; while($row = mysql_fetch_array($query,MYSQL_NUM)) { $compteur+=1; echo 'compteur -->'.$compteur; echo '<tr>'; foreach($row as $value) { echo '<td> <textarea>'.$value.'</textarea> <input name="'.mysql_field_name.$compteur.'" type="hidden" id="txtMatricule'.$compteur.'"value=""></td>'; #echo '<td> <textarea>'.$value.'</textarea> <input name="'.mysql_field_name.$compteur.'" type="text" id="txtMatricule"'.$compteur.'value="'.mysql_field_name.$compteur.'"></td>'; # } } echo '</tr>'; } echo '<input type="submit" name="Submit" value="Mettre la table à jour" />' ; echo '</p></form>'; echo '</table>'; ?>
Merci d'avance pour votre aide.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 <?php # script qui permet de créer des zones de texte à la volée et d'afficher le nom des champs de la table # variable qui contient le nom de ma base de données. $dbname = 'deliberations'; $compteur = 0; $link = mysql_connect('localhost', 'root', 'mdp'); if(!$link) { echo 'Impossible de se connecter à MySQL'; exit; } // Rendre la base de données deliberation, la base courante $db_selected = mysql_select_db($dbname, $link); if (!$db_selected) { die ('Impossible de sélectionner la base de données : ' . mysql_error()); } $NbLignes = $_GET["NbLignes"]; echo '&NbLignes vaut '.$NbLignes; for ($i = 0; $i < $NbLignes;$i++) { $Matricule = $_REQUEST["txtMatricule".i]; $Nom = $_REQUEST["txtNom".i]; $Prenom = $_REQUEST["txtPrenom".i]; $DateDeNaissance = $_REQUEST["txtDateDeNaissance".i]; $Email = $_REQUEST["txtEmail".i]; $Photo = $_REQUEST["txtPhoto".i]; $txtSQL = "" ; $txtSQL = "update [etudiants] set [Nom_Et] = '".$Nom ."' where [Matricule_Et] = '".$Matricule."'" ; } ?>
beegees
Partager