|
|
|
|
Configuration: Windows XP Firefox 3.0.3
$txtSQL = "update [etudiants] set [Nom_Et] = '".$Nom ."' where [Matricule_Et] = '".$Matricule."'" ; déjà pourquoi tu as des [ ] au niveau des tes noms de table ? ensuite je vois pas de : mysql_query($txtSQL);donc il me semble que t'envoie pas la commande a mysql ;) après je suis pas non plus un spécialiste :) |
|
Bonsoir,
à la place de $_REQUEST mets $_POST et $txtSQL = "update [etudiants] set [Nom_Et] = '".$Nom ."' where [Matricule_Et] = '".$Matricule."'" ; $txtSQL = "UPDATE etudiants SET Nom_Et = '".$Nom ."' WHERE Matricule_Et = '".$Matricule."'" ; mysql_query($txtSQL); car il faut qd même à un moment lancer la requette |
Bonjour Alain,
Merci pour ta réponse et désolé pour le retard de ma réaction mais j'étais occupé sur autre chose. Malheureusement, ça ne fonctionne pas encore. Voici le code de mon premier fichier : [code]echo '<table border="1">'; $table = $_POST['select_Nom_Tables']; $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_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 '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>';/code et voici le code de mon second fichier : [code]<?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 = $_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); } ?> /code Merci d'avance pour l'aide. beegees
|
|
Bonjour Alain,
Un super GRAND merci pour ta réponse. Pour ce qui est du compteur, je le déclarais en début de code, code que je n'avais pas copié dans ce message. Pour ce qui est du for each : J'ai fait ceci : foreach($row as $value)
{
echo '<td> <input name="'.mysql_field_name.$compteur.'" type="text" id="txtMatricule'.$compteur.'"value="'.$value.'" <input name="'.mysql_field_name.$compteur.'" type="hidden" id="'.mysql_field_name.$compteur.'" "value="'.$value.'"></td>';
}
le problème avec le mysql_field_name (enfin je pense, je peux me tromper) c'est qu'il n'affiche pas le nom des champs une fois la page générée : Voici une partie de mon code HTML lorsque la page est générée : <input name="mysql_field_name1" type="hidden" id="mysql_field_name1" "value="Ajourné"></td></tr><input type="submit" name="Submit" value="Mettre la table à jour" /></p></form></table> On peut voir qu'il y'a bien indiqué : name="mysql_field_name1" Ce qui est pour moi (grand débutant) un peu déroutant car je ne sais pas quel nom il a donné à mon widget. J'ai donc utilisé ceci : foreach($row as $NomCol => $Valeur)
{
echo '<td> <textarea>'.$Valeur.'</textarea> <input name="'.$NomCol.$compteur.'" type="hidden" id="'.$NomCol.$compteur.'" "value="'.$Valeur.'"></td>';
}
Il m'indique le nom du champ dans le code HTML : <input name="Code_Decision1" type="hidden" id="Code_Decision1" "value="1"></td><td> <textarea>Ajourné</textarea> <input name="Nom_Decision1" type="hidden" id="Nom_Decision1" "value="Ajourné"></td></tr><input type="submit" name="Submit" value="Mettre la table à jour" /></p></form></table> Ce qui est déjà un peu plus partlant. Maintenant, il faut que je récupère ces valerus, ça c'est un autre problème. Si tu as une idée, n'hésite pas. Encore merci pour ton aide. beegees
|
Résultats pour Je n'arrive pas à mettre à jour ma table MYSQ
Résultats pour Je n'arrive pas à mettre à jour ma table MYSQ
Résultats pour Je n'arrive pas à mettre à jour ma table MYSQ
Résultats pour Je n'arrive pas à mettre à jour ma table MYSQ