changer textbox en listbox pour afficher des valeurs a modifier [php] - PHP - Programmation
Marsh Posté le 11-12-2002 à 14:54:38
eh bin, il suffit de générer ça : donc ne pas utiliser ta fonction, ou en coder une autre..
<select size="lataille" name="lenom" multipleoupas>
<option value="lavaleur">tralala</option>
...
...
</select>
Marsh Posté le 11-12-2002 à 15:02:50
non mon truc recupere les valeurs
nom,prenom,...
et les affcihent ds des textbox que l on peut modifier
et qd on appuie sur modifier il fait l update de ma base
or la site,service et societe sont des numeros
je m explique voila mes tables
utilisateurs:
nom_id 1
nom jean
prenom pierre
fonction admin
telephone xxxxxxxx
id_site 1
id_service 2
id_societe 1
mail xxxxxxx@xxxx.xx
site
id_site 1
nom paris
service
id_service 2
nom compta
societe
id_societe 1
nom microsoft
tu comprends pourkoi je veux des listbox pour ses 3 attributs ?
Marsh Posté le 11-12-2002 à 15:08:47
comprends pas, explique un peu mieux stp..
tu veux une liste de tout les éléments de la table ? faut faire une seconde requête, ou récupérer la liste autrement
tu veux afficher uniquement le nom correspondant au chiffre ? faut faire la jointure sur le champ portant le nom, mais t'auras pas le reste de la liste..
Marsh Posté le 11-12-2002 à 15:43:28
je clique sur un lien dupond sur la frame de gauche et j ai a droite
____
legende |____| <=textbox
____
|____| <= nom de dupond
____
|____| <= prenom de dupond
____
|____| <= fonction de dupond
____
|____| <= telephone de dupond
____
|____| <= site de dupond (x)
____
|____| <= service de dupond (x)
____
|____| <= societe de dupond (x)
____
|____| <= mail de dupond
____
|____| <= bouton modifier
____
|____| <= bouton supprimer
ce formulaire permet de recupere les valeurs ( nom,prenom ...)
ds des textbox pour soit les modifie ( tu remplace les champs et click bouton modifié et ca update la table ) ou les supprime ( bouton supprimer )
Or pour les 3 textbox (x) si je veux modifier il me faut des listbox avec les differentes valeurs deja existante des tables correspondants
voila tu as compris ?
Marsh Posté le 12-12-2002 à 11:06:21
sakuraba a écrit : je clique sur un lien dupond sur la frame de gauche et j ai a droite |
ben dans ce cas, tu fais une requête de type "select distinct(champ)" sur la table ou t'as tes valeur et tu remplis ta listbox à l'aide d'une boucle sur le résultat de cette requête.
JE vois pas ce qui est si compliqué que ça.
Marsh Posté le 12-12-2002 à 11:19:37
tu peux pas donner un exemple a partir de mon source ( en haut )
pour societe par exemple parce que la je cale
Marsh Posté le 12-12-2002 à 11:36:41
D'abord, c'est plus ecrireligne qu'il va faloir que t'utilises mais une fonction avec comme nom ecrireliste (par exemple). Comme ça tu pouras faire la diférence entre du texte seul et les lignes ou tu veux avoir une liste.
Du côté des paramêtres :
EcrireLigne($col, $val, $size, $table, $champ, $condition)
quand a écrire la fonction elle même j'ai pas le temps de te le faire.
Il faut que tu génère la requête à partir de $table, $champ et $condition.
Ensuite, tu récupère les résultats et tu les utilisent pour généré chaque élément de la liste.
J'ai pas de doc html sous les yeux ni de temps à perdre pour rechercher un site avec une liste de ce genre, je te laisses donc chercher tout seul ce qu'il faut mettre pour obtenir un menu déroulant.
Marsh Posté le 12-12-2002 à 13:22:18
pr generer une liste a partir de la table societé ???
pareil pr les 2 autres ?
Code :
|
$db c ma classe de base données, donc tu te paluche la requete comme tu le fais dhabitude.
$cat c la categorie selectionné 0 qd il il ny en a pas, son numero qd yen a une de selectionné.
reste a adapter. c aps xhtml compliant ... je dois etre resté bloqué au html 4
Marsh Posté le 13-12-2002 à 17:50:04
sakuraba a écrit : marche toujours pas |
voila qui est diablement explicite et qui merite quon se penche dessus
Marsh Posté le 13-12-2002 à 17:55:00
$db c ma classe de base données, donc tu te paluche la requete comme tu le fais dhabitude.
$cat c la categorie selectionné 0 qd il il ny en a pas, son numero qd yen a une de selectionné.
je comprend pas $db et $cat ce que c est ?
Marsh Posté le 13-12-2002 à 18:23:28
bon faut que tu ecrives une fonction :
Code :
|
$condition = "1" par defaut.
pr info
$db est la classe qui me sert dintermediaire avec la base mysql
$cat me permettait de selectionner une ligne ds la listbox.
Marsh Posté le 13-12-2002 à 18:53:59
ok je verrai lundi au boulot je suis rentre et j ai pas envie de reprendre
merci
Marsh Posté le 11-12-2002 à 14:39:42
<HTML>
<HEAD>
<TITLE>fiche utilisateur</TITLE>
</HEAD>
<BODY bgcolor="#A6CEDB">
<FORM name="utilisateur" action="modifbase.php3">
<?php
echo "<br><a href=MenuFrameAdmin.php target=_top>Retour</a>";
function OuvrirBase()
{
$dbhost="localhost";
$dblogin="root";
$dbpassword="";
$dbname="intranet";
mysql_connect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
}
function FermerBase()
{
if (mysql_close()==false)
Erreur("Fermeture impossible de la base" );
}
// Ecrit un champ de formulaire dans une ligne de tableau
function EcrireLigne($col, $val, $type, $size)
{
$champ = "<INPUT type=\"$type\" name=\"$col\"";
$champ .= "value=\"$val\" size=\"$size\">";
print("<TR>\n" );
print("\t<TD>$col</TD>\n" );
print("\t<TD>$champ</TD>\n</TR>\n" );
}
OuvrirBase();
// recup des valeurs
$requete = "select util.nom as 'nom',util.prenom as 'prenom',util.fonction as 'fonction',
util.telephone as 'telephone',site.nom as 'site',soci.nom as 'societe',serv.nom as 'service',util.mail as 'mail'
from utilisateurs util,site,service serv,societe soci
where util.id_site = site.id_site and util.id_service = serv.id_service and
util.id_societe = soci.id_societe and util.nom_id =$id and util.id_site=site.id_site";
$result = mysql_query($requete);
if($result==null) echo mysql_error();
if($result == 0)
Erreur("impossible d'effectuer la requete <BR>$requete" );
$ligne = mysql_fetch_row($result);
$txtnom = $ligne[0];
$txtprenom = $ligne[1];
$txtfonction = $ligne[2];
$txttelephone = $ligne[3];
$txtsite = $ligne[4];
$txtsociete = $ligne[5];
$txtservice = $ligne[6];
$txtmail = $ligne[7];
// formulaire
print("<TABLE border=2 \"0\">\n" );
EcrireLigne("nom", $txtnom, "text", "10" );
EcrireLigne("prenom", $txtprenom, "text", "10" );
EcrireLigne("fonction", $txtfonction, "text", "20" );
EcrireLigne("telephone", $txttelephone, "text", "5" );
EcrireLigne("site", $txtsite, "text", "20" );
EcrireLigne("societe", $txtsociete, "text", "20" );
EcrireLigne("service", $txtservice, "text", "20" );
EcrireLigne("mail", $txtmail, "text", "30" );
print("</TABLE>\n" );
print("<INPUT type=\"hidden\" name=\"choix\">\n" );
print("<INPUT type=\"hidden\" name=\"id\">\n" );
print("<INPUT type=\"button\" value=\"Modifier\" onClick=" );
print("\"window.document.utilisateur.choix.value='m';" );
print("window.document.utilisateur.id.value=$id;" );
print("window.document.utilisateur.submit()\">" );
print("<INPUT type=\"button\" value=\"Supprimer\" onClick=" );
print("\"window.document.utilisateur.choix.value='s';" );
print("window.document.utilisateur.id.value=$id;" );
print("window.document.utilisateur.submit()\">" );
print "$texttelephone";
FermerBase();
?>
</FORM>
</BODY>
</HTML>
je veux avoir ds une listbox les informations au lieu ds une textbox ( je les ai mit en gras )