Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2783 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [php] changer textbox en listbox pour afficher des valeurs a modifier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] changer textbox en listbox pour afficher des valeurs a modifier

n°267126
sakuraba
Posté le 11-12-2002 à 14:39:42  profilanswer
 

<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 )
 

mood
Publicité
Posté le 11-12-2002 à 14:39:42  profilanswer
 

n°267143
Sh@rdar
Ex-PhPéteur
Posté le 11-12-2002 à 14:54:38  profilanswer
 

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>

n°267151
sakuraba
Posté le 11-12-2002 à 15:02:50  profilanswer
 

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 ?
 

n°267156
Sh@rdar
Ex-PhPéteur
Posté le 11-12-2002 à 15:08:47  profilanswer
 

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..

n°267217
sakuraba
Posté le 11-12-2002 à 15:43:28  profilanswer
 

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 ?


Message édité par sakuraba le 11-12-2002 à 15:44:02
n°267804
sakuraba
Posté le 12-12-2002 à 11:01:32  profilanswer
 

:bounce:

n°267812
omega2
Posté le 12-12-2002 à 11:06:21  profilanswer
 

sakuraba a écrit :

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 ?

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.

n°267842
sakuraba
Posté le 12-12-2002 à 11:19:37  profilanswer
 

tu peux pas donner un exemple a partir de mon source ( en haut )  
pour societe par exemple parce que la je cale  :??:

n°267881
omega2
Posté le 12-12-2002 à 11:36:41  profilanswer
 

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.

n°268009
beleg
黑社會
Posté le 12-12-2002 à 13:22:18  profilanswer
 

pr generer une liste a partir de la table societé ???
pareil pr les 2 autres ?
 

Code :
  1. function GenererCat($db,$cat)
  2. {
  3. $query = "select * from categorie order by libelle asc";
  4. $db->Query($query,1,1);
  5. $ret = "<select name=\"categorie\">";
  6. $ret .= "<option value=\"0\"><< Catégories >></option>\n";
  7. while ($db->Next(1))
  8. {
  9.  $id  = $db->Get("idcategorie" );
  10.  $lib = $db->Get("libelle" );
  11.  if ($cat == $id)
  12.   $ret .= "<option value=\"$id\" selected>$lib</option>\n";
  13.  else
  14.   $ret .= "<option value=\"$id\">$lib</option>\n";
  15. }
  16. $db->Free(1);
  17.         $ret .= "</select>\n";
  18. return $ret;
  19. }


 
$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  :whistle:  
 

mood
Publicité
Posté le 12-12-2002 à 13:22:18  profilanswer
 

n°269218
sakuraba
Posté le 13-12-2002 à 17:18:57  profilanswer
 

marche toujours pas

n°269243
beleg
黑社會
Posté le 13-12-2002 à 17:50:04  profilanswer
 

sakuraba a écrit :

marche toujours pas  


 
voila qui est diablement explicite et qui merite quon se penche dessus  :sarcastic:

n°269249
sakuraba
Posté le 13-12-2002 à 17:55:00  profilanswer
 

$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 ?

n°269267
beleg
黑社會
Posté le 13-12-2002 à 18:23:28  profilanswer
 


bon faut que tu ecrives une fonction :
 

Code :
  1. EcrireListe($nomduselect, $table, $champid, $champ, $condition = "1" ) 
  2. {
  3. $ret = "<select name=\"$nomduselect\">";
  4. $ret .= "<option value=\"0\"><< $champ >></option>\n";
  5. $requete = "select $champid, $champ from $table where $condition"
  6. $result = mysql_query($requete);
  7. while($res = mysql_fetch_array($result))
  8.       $ret .= "<option value=\"".$res[$champid]."\">".$res[$champ]."</option>\n";
  9. $ret .= "</select>\n";
  10. return $ret
  11. }


$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.
 

n°269299
sakuraba
Posté le 13-12-2002 à 18:53:59  profilanswer
 

ok je verrai lundi au boulot je suis rentre et j ai pas envie de reprendre  
 
merci


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [php] changer textbox en listbox pour afficher des valeurs a modifier

 

Sujets relatifs
debutant : meilleur facon d afficher une matrice[Visual C++] Clist : afficher le nom complet d'un élément
Afficher images d'un dossier...[php] peut on mettre 3 listbox differentes sur la meme page ?
Jouer un mp3 a partir d'une listbox avec l'ocx window media player[php] utiliser listbox avec une requete sql
Afficher des images format Jpeg-in-tiff via JAIModifier la fréquence d'un proc en c++
Comment afficher une image dans un RichEdit ?[PHP] Afficher une citation chaque jour
Plus de sujets relatifs à : [php] changer textbox en listbox pour afficher des valeurs a modifier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR