Salut tout le monde,
J'ai une page web qui contient une liste déroulante.
les choix de la liste déroulante contient le nom de mes tables de ma bd MySQL.
Dès que je fais un choix, les données de la table sélectionnée s'affiche ainsi que les nom des champs.
J'aimerais pouvoir mettre à jour la table sélectionnée.
Je pense que je dois créer des zones invisibles et les récupérer dans un autre script.
J'aimerais aussi que mes chaines sql soit génériques afin d'éviter de devoir les mettre à jour.
Voici le code que j'utilise :
Affichage des données et des champs de la table sélectionnée :
Code :
- echo '<table border="1">';
- $table = $_POST['select_Nom_Tables'];
- echo("table vaut $table " );
- $query = mysql_query("SELECT * FROM $table LIMIT 20" );
- 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_ASSOC))
- {
- $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 'mysql_field_name vaut'.mysql_field_name($query,i);
- #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>';?>
|
Comme vous le voyez, j'ai déjà créé les zones invisibles.
J'ai un autre script qui est censé récupérer les données et les mettre à jour mais ça ne fonctionne pas :
Code :
- $NbLignes = $_GET["NbLignes"];
- echo '&NbLignes vaut '.$NbLignes;
- for ($i = 0; $i < $NbLignes;$i++)
- {
- $Matricule = $_POST[mysql_field_name.i];
- $Nom = $_POST["txtNom".i];
- $Prenom = $_POST["txtPrenom".i];
- $DateDeNaissance = $_POST["txtDateDeNaissance".i];
- $Email = $_POST["txtEmail".i];
- $Photo = $_POST["txtPhoto".i];
- $txtSQL = "" ;
- $txtSQL = "UPDATE etudiants SET Nom_Et = '".$Nom ."' WHERE Matricule_Et = '".$Matricule."'" ;
|
mysql_query($txtSQL);
Je vous remercie d'avance pour l'aide que vous m'apporterez.
beegees