Tableau modifiable
Résolu/Fermé
cinderela
Messages postés
52
Date d'inscription
mardi 31 juillet 2007
Statut
Membre
Dernière intervention
20 février 2008
-
31 juil. 2007 à 15:33
hrsg - 17 sept. 2008 à 08:01
hrsg - 17 sept. 2008 à 08:01
A voir également:
- Tableau modifiable
- Tableau croisé dynamique - Guide
- Code ascii tableau - Guide
- Tableau word - Guide
- Logiciel pdf modifiable gratuit - Guide
- Trier tableau excel - Guide
4 réponses
Il faut que tu mettes tes données extraites de la table Mysql dans les input d'un formulaire
ex:
ton_script.php est le script qui traitera ensuite les données après modif par utilisateur
ex:
<form name="...." method="post" action="ton_script.php> <input type="text" name="champ1" value="<?php echo $valeur_champ1_extraite_de_BD; ?>"> <input type="text" name="champ2" value="<?php echo $valeur_champ2_extraite_de_BD; ?>"> etc..... <input type="submit" name="Enregistrer" value="Enregistrer modifs"> </form>
ton_script.php est le script qui traitera ensuite les données après modif par utilisateur
J'ai compris !
Tu affiches un tableau avec plusieurs lignes, représentant les champs des lignes de ta base.
Mais tu mets ça dans une seule form avec autant de boutons submit.
Premiere ligne:
tes champs se moment nom, prenom, etc...
deuxième ligne:
tes champs se moment nom, prenom, etc...
etc..
lorsque tu cliques sur un des boutons submit il poste tous les champs de ton formulaire, mais comme dans chaque ligne ils ont le même nom, ce sont les valeurs des champs de la dernière ligne qui sont envoyés dans les varaibles $_POST['nom'] etc...
donc il faut que tu fasses autant de <form que de lignes avec chaqun leur bouton Submit.
mets donc la ligne <form.... dans ta boucle while (et </form aussi bien sûr)
Et aussi mets l'input de l'user_id en champ caché type="hidden", car si l'utilisateur le modifie le script ne s'y retrouvera plus.
Essayes ça:
Tu affiches un tableau avec plusieurs lignes, représentant les champs des lignes de ta base.
Mais tu mets ça dans une seule form avec autant de boutons submit.
Premiere ligne:
tes champs se moment nom, prenom, etc...
deuxième ligne:
tes champs se moment nom, prenom, etc...
etc..
lorsque tu cliques sur un des boutons submit il poste tous les champs de ton formulaire, mais comme dans chaque ligne ils ont le même nom, ce sont les valeurs des champs de la dernière ligne qui sont envoyés dans les varaibles $_POST['nom'] etc...
donc il faut que tu fasses autant de <form que de lignes avec chaqun leur bouton Submit.
mets donc la ligne <form.... dans ta boucle while (et </form aussi bien sûr)
Et aussi mets l'input de l'user_id en champ caché type="hidden", car si l'utilisateur le modifie le script ne s'y retrouvera plus.
Essayes ça:
<?php $connexion = mysql_connect("localhost", "root", "") or die ("connexion au serveur impossible."); $db = mysql_select_db('gestion_stock', $connexion); // selectionner toutes les USERS présentés dans la tbluser $query = "SELECT nom, prenom, adresse, temps_de_travail, fonction, role_utilisateur, user_ID FROM tbluser ORDER BY nom"; $result = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée. L\'erreur retournée est : '.mysql_error()); ?> <TABLE BORDER='1'> <TR><TH>Nom</TH><TH>Prénom</TH><TH>Adresse</TH><TH>Temps de travail</TH><TH>Fonction</TH><TH>Rôle_utilisateur</TH><TH>Sélection</TH><TH>Enregistrer modifs</TH></TR> <?php while ($ligne = mysql_fetch_row($result)) { $nom = $ligne[0]; $prenom = $ligne[1]; $adresse = $ligne[2]; $temps_de_travail = $ligne[3]; $fonction = $ligne[4]; $role_utilisateur = $ligne[5]; $user_id = $ligne[6]; ?> <form name="modification_utilisateur" method="post" action="modif_user.php"> <TR><TD><input type="text" name="nom" size="15"value="<?php echo $nom; ?>"></TD> <TD><input type="text" name="prenom" size="15" value="<?php echo $prenom; ?>"></TD> <TD><input type="text" name="adresse" size="15" value="<?php echo $adresse; ?>"></TD> <TD><input type="text" name="temps" size="15" value="<?php echo $temps_de_travail; ?>"></TD> <TD><input type="text" name="fonction" size="15" value="<?php echo $fonction; ?>"></TD> <TD><input type="text" name="role_utilisateur" size="15" value="<?php echo $role_utilisateur; ?>"></TD> <TD align="center"><input type="hidden" name="user_id" value="<?php echo $user_id; ?>"></TD> <TD align="center"><input type="submit" name="Enregistrer" value="OK"></TD></TR> </form> <?php } ?> </TABLE>
cinderela
Messages postés
52
Date d'inscription
mardi 31 juillet 2007
Statut
Membre
Dernière intervention
20 février 2008
7 août 2007 à 11:21
7 août 2007 à 11:21
salut Alain,
merci beaucoup vraiment:-) Je suis désolé de n'avoir pas dit clairement auparavant , C'est bien cela oui.
bon, j'ai testé et il modifie maintant dans le just champ. Encore un souci qu'il ne l'ordonne pas le nom par contre si j'entre les nouvelles données il les insert dans l'ordre alphabetique . j'avais mis ORDER BY nom et même avec ORDER BY nom ASC comme :
<p>Voici, la table de tous les utilisateurs!</p>
<?php
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
$db = mysql_select_db('gestion_stock', $connexion);
// selectionner toutes les users présentés dans la tbluser
$query = "SELECT nom, prenom, username FROM tbluser ORDER BY nom ASC";
$result = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée.
L\'erreur retournée est : '.mysql_error());
print("\n<TABLE BORDER='1'>\n");
print("<TR><TH>Nom</TH><TH>Prénom</TH><TH>Username</TH></TR>\n");
while ($ligne = mysql_fetch_row($result))
{
$nom = $ligne[0];
$prenom = $ligne[1];
$username = $ligne[2];
print("\n<TR>\n");
print("\t<TD>$nom</TD>\n");
print("\t<TD>$prenom</TD>\n");
print("\t<TD>$username</TD>\n");
print("\n</TR>\n");
}
print("\n</TABLE>");
?>
merci beaucoup vraiment:-) Je suis désolé de n'avoir pas dit clairement auparavant , C'est bien cela oui.
bon, j'ai testé et il modifie maintant dans le just champ. Encore un souci qu'il ne l'ordonne pas le nom par contre si j'entre les nouvelles données il les insert dans l'ordre alphabetique . j'avais mis ORDER BY nom et même avec ORDER BY nom ASC comme :
<p>Voici, la table de tous les utilisateurs!</p>
<?php
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
$db = mysql_select_db('gestion_stock', $connexion);
// selectionner toutes les users présentés dans la tbluser
$query = "SELECT nom, prenom, username FROM tbluser ORDER BY nom ASC";
$result = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée.
L\'erreur retournée est : '.mysql_error());
print("\n<TABLE BORDER='1'>\n");
print("<TR><TH>Nom</TH><TH>Prénom</TH><TH>Username</TH></TR>\n");
while ($ligne = mysql_fetch_row($result))
{
$nom = $ligne[0];
$prenom = $ligne[1];
$username = $ligne[2];
print("\n<TR>\n");
print("\t<TD>$nom</TD>\n");
print("\t<TD>$prenom</TD>\n");
print("\t<TD>$username</TD>\n");
print("\n</TR>\n");
}
print("\n</TABLE>");
?>
cinderela
Messages postés
52
Date d'inscription
mardi 31 juillet 2007
Statut
Membre
Dernière intervention
20 février 2008
>
Alain42
7 août 2007 à 11:51
7 août 2007 à 11:51
salut,
c'est dans la formulaire. C'est que quand j'exécute la formulaire"modif" les infos devraient être envoyé à la base de données et puis il mis à jour la page users.php qu'il s'affiche une table avec tous les utilisateurs en ordre de A-Z (c'est croissant, n'est pas?, désolée Français c'est pas ma langue maternelle je viens de l'apprendre il y a quelques années)
c'est dans la formulaire. C'est que quand j'exécute la formulaire"modif" les infos devraient être envoyé à la base de données et puis il mis à jour la page users.php qu'il s'affiche une table avec tous les utilisateurs en ordre de A-Z (c'est croissant, n'est pas?, désolée Français c'est pas ma langue maternelle je viens de l'apprendre il y a quelques années)
Ok,
C'est parce que tu utilises le refresh pour charger ta page user.php je pense.
Pourquoi ne pas mettre en fin de ton script modif.php la partie de ton script user.php (pas par un include !), cela t'affichera le tableau modifié après interrogation de la base.
Tu mets juste par un echo que la modif a été prise en compte et le client verra la modif dans le tableau en plus.
C'est parce que tu utilises le refresh pour charger ta page user.php je pense.
Pourquoi ne pas mettre en fin de ton script modif.php la partie de ton script user.php (pas par un include !), cela t'affichera le tableau modifié après interrogation de la base.
Tu mets juste par un echo que la modif a été prise en compte et le client verra la modif dans le tableau en plus.
cinderela
Messages postés
52
Date d'inscription
mardi 31 juillet 2007
Statut
Membre
Dernière intervention
20 février 2008
>
Alain42
7 août 2007 à 12:41
7 août 2007 à 12:41
salut,
quand j'ai mis include('users.php'); dans le modif_user.php il dit que
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\1erpage\modif_user.php:11) in c:\program files\easyphp1-8\www\1erpage\session.php on line 3
Ligne 11 de modif_user.php c'est ça : echo "bien joué! ";
et il donne la page users.php sans avoir l'ordonnencement de nom
voila les codes concernés:
session.php
<?php
session_name();
session_start();
?>
mod_user.php
<?php
// vérifier les données dans la formulaire
foreach ($_POST as $data) {
if (empty($data))
{
print('<center>Un (ou plusieurs) champs est vide! Veuillez tous les remplir.</center>');
exit();
}
else
{
echo "bien joué! ";
}
}
//vérifie le nom, prénom etc...
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$temps = $_POST['temps'];
$fonction = $_POST['fonction'];
$role_utilisateur = $_POST['role_utilisateur'];
$user_id = $_POST['user_id'];
//connecter à la bd
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
mysql_select_db('gestion_stock', $connexion);
//vérifier les données dans la base de données
$query = "UPDATE tbluser SET
nom='".$nom."', prenom='".$prenom."', adresse='".$adresse."', temps_de_travail='".$temps."',
fonction='".$fonction."', role_utilisateur='".$role_utilisateur."' WHERE user_ID='".$user_id."' ";
echo $query;
$result = mysql_query($query);
if ($result) {include('users.php');}
print_r($_POST);
?>
user_mod.php
<?php
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
$db = mysql_select_db('gestion_stock', $connexion);
// selectionner toutes les USERS présentés dans la tbluser
$query = "SELECT nom, prenom, adresse, temps_de_travail, fonction, role_utilisateur, user_ID FROM tbluser ORDER BY nom";
$result = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée.
L\'erreur retournée est : '.mysql_error());
?>
<TABLE BORDER='1'>
<TR><TH>Nom</TH><TH>Prénom</TH><TH>Adresse</TH><TH>Temps de travail</TH><TH>Fonction</TH><TH>Rôle_utilisateur</TH><TH>Sélection</TH><TH>Enregistrer modifs</TH></TR>
<?php
while ($ligne = mysql_fetch_row($result))
{
$nom = $ligne[0];
$prenom = $ligne[1];
$adresse = $ligne[2];
$temps_de_travail = $ligne[3];
$fonction = $ligne[4];
$role_utilisateur = $ligne[5];
$user_id = $ligne[6];
?>
<form name="modification_utilisateur" method="post" action="modif_user.php">
<TR><TD><input type="text" name="nom" size="15"value="<?php echo $nom; ?>"></TD>
<TD><input type="text" name="prenom" size="15" value="<?php echo $prenom; ?>"></TD>
<TD><input type="text" name="adresse" size="15" value="<?php echo $adresse; ?>"></TD>
<TD><input type="text" name="temps" size="15" value="<?php echo $temps_de_travail; ?>"></TD>
<TD><input type="text" name="fonction" size="15" value="<?php echo $fonction; ?>"></TD>
<TD><input type="text" name="role_utilisateur" size="15" value="<?php echo $role_utilisateur; ?>"></TD>
<TD align="center"><input type="hidden" name="user_id" value="<?php echo $user_id; ?>"></TD>
<TD align="center"><input type="submit" name="Enregistrer" value="OK"></TD></TR>
</form>
<?php
} ?>
</TABLE>
quand j'ai mis include('users.php'); dans le modif_user.php il dit que
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\1erpage\modif_user.php:11) in c:\program files\easyphp1-8\www\1erpage\session.php on line 3
Ligne 11 de modif_user.php c'est ça : echo "bien joué! ";
et il donne la page users.php sans avoir l'ordonnencement de nom
voila les codes concernés:
session.php
<?php
session_name();
session_start();
?>
mod_user.php
<?php
// vérifier les données dans la formulaire
foreach ($_POST as $data) {
if (empty($data))
{
print('<center>Un (ou plusieurs) champs est vide! Veuillez tous les remplir.</center>');
exit();
}
else
{
echo "bien joué! ";
}
}
//vérifie le nom, prénom etc...
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$temps = $_POST['temps'];
$fonction = $_POST['fonction'];
$role_utilisateur = $_POST['role_utilisateur'];
$user_id = $_POST['user_id'];
//connecter à la bd
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
mysql_select_db('gestion_stock', $connexion);
//vérifier les données dans la base de données
$query = "UPDATE tbluser SET
nom='".$nom."', prenom='".$prenom."', adresse='".$adresse."', temps_de_travail='".$temps."',
fonction='".$fonction."', role_utilisateur='".$role_utilisateur."' WHERE user_ID='".$user_id."' ";
echo $query;
$result = mysql_query($query);
if ($result) {include('users.php');}
print_r($_POST);
?>
user_mod.php
<?php
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
$db = mysql_select_db('gestion_stock', $connexion);
// selectionner toutes les USERS présentés dans la tbluser
$query = "SELECT nom, prenom, adresse, temps_de_travail, fonction, role_utilisateur, user_ID FROM tbluser ORDER BY nom";
$result = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée.
L\'erreur retournée est : '.mysql_error());
?>
<TABLE BORDER='1'>
<TR><TH>Nom</TH><TH>Prénom</TH><TH>Adresse</TH><TH>Temps de travail</TH><TH>Fonction</TH><TH>Rôle_utilisateur</TH><TH>Sélection</TH><TH>Enregistrer modifs</TH></TR>
<?php
while ($ligne = mysql_fetch_row($result))
{
$nom = $ligne[0];
$prenom = $ligne[1];
$adresse = $ligne[2];
$temps_de_travail = $ligne[3];
$fonction = $ligne[4];
$role_utilisateur = $ligne[5];
$user_id = $ligne[6];
?>
<form name="modification_utilisateur" method="post" action="modif_user.php">
<TR><TD><input type="text" name="nom" size="15"value="<?php echo $nom; ?>"></TD>
<TD><input type="text" name="prenom" size="15" value="<?php echo $prenom; ?>"></TD>
<TD><input type="text" name="adresse" size="15" value="<?php echo $adresse; ?>"></TD>
<TD><input type="text" name="temps" size="15" value="<?php echo $temps_de_travail; ?>"></TD>
<TD><input type="text" name="fonction" size="15" value="<?php echo $fonction; ?>"></TD>
<TD><input type="text" name="role_utilisateur" size="15" value="<?php echo $role_utilisateur; ?>"></TD>
<TD align="center"><input type="hidden" name="user_id" value="<?php echo $user_id; ?>"></TD>
<TD align="center"><input type="submit" name="Enregistrer" value="OK"></TD></TR>
</form>
<?php
} ?>
</TABLE>
cinderela
Messages postés
52
Date d'inscription
mardi 31 juillet 2007
Statut
Membre
Dernière intervention
20 février 2008
7 août 2007 à 15:26
7 août 2007 à 15:26
Merci beaucoup Alain, c'est résoulu!
En fait, le problème ordonnancement est dü "peut-être" le fonctionnement du système de mon ordi ou bien phpmyadmin, je sais pas. Maintenant l'important c'est que la formulaire marche et l'ordonnancement est aussi marché. sauf il y a encore une chose que je voulais esseyer de modifier plusieurs lignes à la fois. Je te dirai la nouvelle :-)
Merci encore,
Cinderela
voici les codes
mod_user.php
<?php
// vérifier les données dans la formulaire
foreach ($_POST as $data) {
if (empty($data))
{
print('<center>Un (ou plusieurs) champs est vide! Veuillez tous les remplir.</center>');
exit();
}
}
//vérifie le nom, prénom etc...
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$temps = $_POST['temps'];
$fonction = $_POST['fonction'];
$role_utilisateur = $_POST['role_utilisateur'];
$user_id = $_POST['user_id'];
//connecter à la bd
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
mysql_select_db('gestion_stock', $connexion);
//vérifier les données dans la base de données
$query = "UPDATE tbluser SET
nom='".$nom."', prenom='".$prenom."', adresse='".$adresse."', temps_de_travail='".$temps."',
fonction='".$fonction."', role_utilisateur='".$role_utilisateur."' WHERE user_ID='".$user_id."' ";
$result = mysql_query($query);
if ($result) { echo 'Les infos ont été bien modifiées:';
$query1 = "SELECT nom, prenom, username FROM tbluser ORDER BY nom ASC";
$result1 = mysql_query($query1) or die ('Erreur. La requête ne peut pas être effectuée.
L\'erreur retournée est : '.mysql_error());
print("\n<TABLE BORDER='1'>\n");
print("<TR><TH>Nom</TH><TH>Prénom</TH><TH>Username</TH></TR>\n");
while ($ligne = mysql_fetch_row($result1))
{
$nom = $ligne[0];
$prenom = $ligne[1];
$username = $ligne[2];
print("\n<TR>\n");
print("\t<TD>$nom</TD>\n");
print("\t<TD>$prenom</TD>\n");
print("\t<TD>$username</TD>\n");
print("\n</TR>\n");
}
print("\n</TABLE>");
}
print_r($_POST);
?>
user_mod.php
<?php
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
$db = mysql_select_db('gestion_stock', $connexion);
// selectionner toutes les USERS présentés dans la tbluser
$query = "SELECT nom, prenom, adresse, temps_de_travail, fonction, role_utilisateur, user_ID FROM tbluser ORDER BY nom";
$result = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée.
L\'erreur retournée est : '.mysql_error());
?>
<TABLE BORDER='1'>
<TR><TH>Nom</TH><TH>Prénom</TH><TH>Adresse</TH><TH>Temps de travail</TH><TH>Fonction</TH><TH>Rôle_utilisateur</TH><TH>Sélection</TH><TH>Enregistrer modifs</TH></TR>
<?php
while ($ligne = mysql_fetch_row($result))
{
$nom = $ligne[0];
$prenom = $ligne[1];
$adresse = $ligne[2];
$temps_de_travail = $ligne[3];
$fonction = $ligne[4];
$role_utilisateur = $ligne[5];
$user_id = $ligne[6];
?>
<form name="modification_utilisateur" method="post" action="modif_user.php">
<TR><TD><input type="text" name="nom" size="15"value="<?php echo $nom; ?>"></TD>
<TD><input type="text" name="prenom" size="15" value="<?php echo $prenom; ?>"></TD>
<TD><input type="text" name="adresse" size="15" value="<?php echo $adresse; ?>"></TD>
<TD><input type="text" name="temps" size="15" value="<?php echo $temps_de_travail; ?>"></TD>
<TD><input type="text" name="fonction" size="15" value="<?php echo $fonction; ?>"></TD>
<TD><input type="text" name="role_utilisateur" size="15" value="<?php echo $role_utilisateur; ?>"></TD>
<TD align="center"><input type="hidden" name="user_id" value="<?php echo $user_id; ?>"></TD>
<TD align="center"><input type="submit" name="Enregistrer" value="OK"></TD></TR>
</form>
<?php
} ?>
</TABLE>
En fait, le problème ordonnancement est dü "peut-être" le fonctionnement du système de mon ordi ou bien phpmyadmin, je sais pas. Maintenant l'important c'est que la formulaire marche et l'ordonnancement est aussi marché. sauf il y a encore une chose que je voulais esseyer de modifier plusieurs lignes à la fois. Je te dirai la nouvelle :-)
Merci encore,
Cinderela
voici les codes
mod_user.php
<?php
// vérifier les données dans la formulaire
foreach ($_POST as $data) {
if (empty($data))
{
print('<center>Un (ou plusieurs) champs est vide! Veuillez tous les remplir.</center>');
exit();
}
}
//vérifie le nom, prénom etc...
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$temps = $_POST['temps'];
$fonction = $_POST['fonction'];
$role_utilisateur = $_POST['role_utilisateur'];
$user_id = $_POST['user_id'];
//connecter à la bd
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
mysql_select_db('gestion_stock', $connexion);
//vérifier les données dans la base de données
$query = "UPDATE tbluser SET
nom='".$nom."', prenom='".$prenom."', adresse='".$adresse."', temps_de_travail='".$temps."',
fonction='".$fonction."', role_utilisateur='".$role_utilisateur."' WHERE user_ID='".$user_id."' ";
$result = mysql_query($query);
if ($result) { echo 'Les infos ont été bien modifiées:';
$query1 = "SELECT nom, prenom, username FROM tbluser ORDER BY nom ASC";
$result1 = mysql_query($query1) or die ('Erreur. La requête ne peut pas être effectuée.
L\'erreur retournée est : '.mysql_error());
print("\n<TABLE BORDER='1'>\n");
print("<TR><TH>Nom</TH><TH>Prénom</TH><TH>Username</TH></TR>\n");
while ($ligne = mysql_fetch_row($result1))
{
$nom = $ligne[0];
$prenom = $ligne[1];
$username = $ligne[2];
print("\n<TR>\n");
print("\t<TD>$nom</TD>\n");
print("\t<TD>$prenom</TD>\n");
print("\t<TD>$username</TD>\n");
print("\n</TR>\n");
}
print("\n</TABLE>");
}
print_r($_POST);
?>
user_mod.php
<?php
$connexion = mysql_connect("localhost", "root", "")
or die ("connexion au serveur impossible.");
$db = mysql_select_db('gestion_stock', $connexion);
// selectionner toutes les USERS présentés dans la tbluser
$query = "SELECT nom, prenom, adresse, temps_de_travail, fonction, role_utilisateur, user_ID FROM tbluser ORDER BY nom";
$result = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée.
L\'erreur retournée est : '.mysql_error());
?>
<TABLE BORDER='1'>
<TR><TH>Nom</TH><TH>Prénom</TH><TH>Adresse</TH><TH>Temps de travail</TH><TH>Fonction</TH><TH>Rôle_utilisateur</TH><TH>Sélection</TH><TH>Enregistrer modifs</TH></TR>
<?php
while ($ligne = mysql_fetch_row($result))
{
$nom = $ligne[0];
$prenom = $ligne[1];
$adresse = $ligne[2];
$temps_de_travail = $ligne[3];
$fonction = $ligne[4];
$role_utilisateur = $ligne[5];
$user_id = $ligne[6];
?>
<form name="modification_utilisateur" method="post" action="modif_user.php">
<TR><TD><input type="text" name="nom" size="15"value="<?php echo $nom; ?>"></TD>
<TD><input type="text" name="prenom" size="15" value="<?php echo $prenom; ?>"></TD>
<TD><input type="text" name="adresse" size="15" value="<?php echo $adresse; ?>"></TD>
<TD><input type="text" name="temps" size="15" value="<?php echo $temps_de_travail; ?>"></TD>
<TD><input type="text" name="fonction" size="15" value="<?php echo $fonction; ?>"></TD>
<TD><input type="text" name="role_utilisateur" size="15" value="<?php echo $role_utilisateur; ?>"></TD>
<TD align="center"><input type="hidden" name="user_id" value="<?php echo $user_id; ?>"></TD>
<TD align="center"><input type="submit" name="Enregistrer" value="OK"></TD></TR>
</form>
<?php
} ?>
</TABLE>
Bonjour à tous,
Je cherche un script php tout prêt (je suis incapable de le faire, je n'ai pas le temps d'apprendre) pour avoir en ligne un tableau modifiable (en gros une liste de nom, prénom, âge,...). Pas besoin de gestion de droits, modification du tableau par tout le monde (dans un répertoire protégé).
Quelqu'un connaîtrait-il un script de ce genre ?
Si cette discussion a abouti sur quelque chose d'utilisable, cela a-t-il été diffusé ?
Merci d'avance
Je cherche un script php tout prêt (je suis incapable de le faire, je n'ai pas le temps d'apprendre) pour avoir en ligne un tableau modifiable (en gros une liste de nom, prénom, âge,...). Pas besoin de gestion de droits, modification du tableau par tout le monde (dans un répertoire protégé).
Quelqu'un connaîtrait-il un script de ce genre ?
Si cette discussion a abouti sur quelque chose d'utilisable, cela a-t-il été diffusé ?
Merci d'avance
31 juil. 2007 à 16:08
3 août 2007 à 11:46
j'ai réussi à faire la table et puis quand j'ai fait la modification envoyé par la requette sql, la modification n'est pas complet comme je voulais.Il modifie par exemple seulement le prénom pas le nom...
quelqu'un peut m'aider?
Voilà, le code pour l'enregistrement de la mise à jour:
$query1 = "SELECT * FROM tbluser WHERE user_ID = '".$user_id."'";
$result1 = mysql_query($query1) or die ('erreur:');
$a = 0;
while ($liste = mysql_fetch_row($result1)){
if ($user_id == $liste[0]){
echo 'Les infos sont enregistrées. Vous serez redirigé dans 2 secondes.';
$query = "UPDATE tbluser SET
nom=' ".$nom." ', prenom=' ".$prenom." ', adresse=' ".$adresse." ', temps_de_travail=' ".$temps." ', fonction=' ".$fonction." ', role_utilisateur=' ".$role_utilisateur." ' WHERE user_ID = ' ".$user_id." ' AND nom = ' ".$nom." ' ";
echo $query;
$result = mysql_query($query);
}
}
Merci,
cinderela
6 août 2007 à 11:36
$nom=$_POST['nom'];
etc..
pour visualiser tout tu peux faire
print_r($_POST);
tu verras tout ce qui est posté: le nom des champs et leur valeur.
D'autre part, as tu dans ta table plusieurs noms avec un même user_id ?
Sinon ça sert à rien de faire un SELECT avec le while sur l'user_id et de faire ton update dans cette boucle.
Il suffit de faire l' UPDATE ' avec WHERE user_ID = ' ".$user_id." ' seulement. et de plus ton formulaire ne te renveras les valeurs que pour un seul uitlisateur à la fois.
$query = "UPDATE tbluser SET
nom=' ".$nom." ', prenom=' ".$prenom." ', adresse=' ".$adresse." ', temps_de_travail=' ".$temps." ', fonction=' ".$fonction." ', role_utilisateur=' ".$role_utilisateur." ' WHERE user_ID = ' ".$user_id." ' ";
echo $query;
$result = mysql_query($query);
if ($result) {echo "Les donnees ont ete enregistrees ";}
6 août 2007 à 11:59
Merci pour ton aide.
j'ai vérifie minutieusement toutes les variables. c'est bien correct.
Dans la table user, un user a un seul id et vice-versa.
J'avais aussi essayer de faire qu'une seul instruction mais c'est comme j'ai dit il fait Update seulement une partie c-a-d la dernière rentrée (ajouter)
Alors pour en être sûre. je le refais mnt.
6 août 2007 à 14:10
Que veux tu dire par là ?
Peux tu nous donner le code de ton formulaire ?