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 :
Merci d'avance pour votre aide.
beegees
Modifié par beegees (15 Oct 2008 - 20:31)
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 :
<?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>';
?>
et voic le code de "MettreAJour.php" qui contient le code SQL qui devrait mettre à jour la table :
<?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."'" ;
}
?>
Merci d'avance pour votre aide.
beegees
Modifié par beegees (15 Oct 2008 - 20:31)