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

  FORUM HardWare.fr
  Programmation

  [MySQL] récupérer les valeurs possibles d'un enum

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] récupérer les valeurs possibles d'un enum

n°73244
z0rglub
Posté le 18-11-2001 à 13:00:53  profilanswer
 

salut,
je voudrais savoir comment faire en php pour faire une requête qui récupère les différentes valeurs possibles d'un enum.
J'ai en effet un champ "couleur" de type ENUM qui peut prendre 4 valeurs : vert, bleu, gris, violet
J'ai un formulaire avec une liste déroulante donnant la possiblité à l'utilisateur de choisir la couleur de son interface. Pour le moment je rentre manuellement les  
select name="couleur_interface">
           <option></option>
           <option>gris</option>
           <option>bleu</option>
           <option>violet</option>
           <option>vert</option>
          </select>
Mais je voudrais pouvoir faire ça plus proprement avec la récupération dynamique des valeurs dans la BD


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
mood
Publicité
Posté le 18-11-2001 à 13:00:53  profilanswer
 

n°73669
z0rglub
Posté le 20-11-2001 à 08:02:12  profilanswer
 

:bounce:

n°73734
TetardKing
Docteur square inside
Posté le 20-11-2001 à 10:59:49  profilanswer
 

Le principe est le suivant en perl... m'enfin, ca doit être pareil en php :)
 
 
 
select name="couleur_interface">  
          <option></option>  
 
use DBI;
$driver = "mysql";
$dsn = "DBI:$driver:database=umls;host=localhost;port=$port" ||die "pb de connection : $DBI::errstr";
$dbh = DBI->connect($dsn, "root", "" ) ||die "pb de connection : $DBI::errstr";
$sel_coul="select couleur_possible from table_couleur";
$sel1 = $dbh->prepare("$sel_coul" );
$sel1->execute ||die "pb dans l'execution : $DBI:errstr";
 
while (@essais = $sel1->fetchrow_array) {
<option>$essais[0]</option>
}
$dbh->disconnect;
 
</select>  
 
 
Je sais pas si c'est la manière la plus simple qu'il soit, m'enfin, ca, ca marche.
A toi de corriger l'orthographe  

  • pour que ca marche sous php, notament la connection à la base, qui doit être sensiblement différente en php.
  • enlever le smileys qui s'incruste


M'enfin, tu as le principe ;)

 

[edtdd]--Message édité par TetardKing--[/edtdd]


---------------
Da Breizh WoRlD DoMIna7iOn T3aM * Baptiste Mary blog
n°73743
Oreste
Posté le 20-11-2001 à 11:09:41  profilanswer
 

Bon ben voici le code  
 
mysql_connect("$Host","$User","$Passw" ); // ton serveur, login et pass SQL comme d hab
$requete="select (nom_couleur) from tbl_couleur order by 'couleur'"; // La  cets ta requete : j'extrait le nom des couleurs du champs "nom_couleur" dans la table "tbl_couleur"
echo "<select name='couleur'>";
echo "<option selected>Choisir un couleur</option>";
echo "<option>--------------------------</option>";
$result = mysql_db_query ("nom__base",$requete);
while ($row=mysql_fetch_array ($result))
 {
    echo "<option value='$row[0]'>$row[0]\n";
 }
mysql_free_result ($result);
echo "</select>";
echo "       ";
echo "  <input type=submit value='OK'>";
echo "</form>";

n°73748
TetardKing
Docteur square inside
Posté le 20-11-2001 à 11:13:16  profilanswer
 

copieur :p :)

n°73750
Oreste
Posté le 20-11-2001 à 11:15:03  profilanswer
 

Oui mais moi c est du vrai php :D

n°73753
TetardKing
Docteur square inside
Posté le 20-11-2001 à 11:16:04  profilanswer
 

Trop facile le php :D :sarcastic:

n°73794
z0rglub
Posté le 20-11-2001 à 12:46:38  profilanswer
 

vous êtes super sympa les mecs, l'autre jour personne ne m'a répondu. Je vous tiens au courant.
petite remarque, là vous êtes en train de m'exliquer comment faire un select sur une table. ça ça fait un bail que je maîtrise. Le pb c'est c'est que j'ai un type enum couleur et je veux récupérer les valeurs possibles. ce qui signifie que je n'ai pas de table avec toutes les couleurs possibles. Ou alors faut que je la fasse cette table et que je fasse une clé étrangère dans ma table utilisateur (qui a un champ couleur).

 

[edtdd]--Message édité par z0rglub--[/edtdd]

n°73817
TetardKing
Docteur square inside
Posté le 20-11-2001 à 14:08:54  profilanswer
 

Sachant pas ce que c'est qu'un truc enum machin_truc... je peux pas te repondre... moi, je fait avec mes pauvres moyens :)

n°73913
z0rglub
Posté le 20-11-2001 à 19:43:34  profilanswer
 

non, pas de soucis, c'est sympa d'essayer de m'aider.
Je sens que je vais devoir passer par une clé étrangère mais je sais pas si ça marche avec MySQL... à voir.


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
mood
Publicité
Posté le 20-11-2001 à 19:43:34  profilanswer
 

n°73970
six_dfx
Well I'm the Lord of Time.
Posté le 21-11-2001 à 01:50:30  profilanswer
 

function get_enums($table, $field) {
 
  $q=mysql_query("desc $table" );
  while ($row=mysql_fetch_array($q)) if ($row["Field"]==$field) $ret=explode(",", substr($row["Type"], 5, -1));
  mysql_free_result($q);
  return($ret);
 
}
 
j'ai pas testé y'a ptet une merde kkpart mais c le principe ...

 

[edtdd]--Message édité par six_dfx--[/edtdd]


---------------
Don't blink. Don't even blink. Blink and you're dead. They are fast, faster than you could believe, don't turn your back, don't look away, and DON'T BLINK. Good luck.
n°74401
z0rglub
Posté le 22-11-2001 à 13:24:54  profilanswer
 

c super, merci, je viens d'avoir 15 minutes pour le tester et ça marche pas mal, il faut juste rajouter un bout de code pour obtenir
bleu
gris
vert
violet
 
au lieu de  
'bleu'
'gris'
'vert'
'violet'


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

  [MySQL] récupérer les valeurs possibles d'un enum

 

Sujets relatifs
MySql - je pête un câbleMysql Free?
[c]Recupérer l'heure systeme en milliseconde[Javascript]recuperer des infos d'une methode POST
C: Atteindre la fin d'un fichier et en recuperer une occurence[ASP] recupérer le nom de la page surlquelle on est
Pb de connection à MYSQL[Mysql]Fichier de log
[MySQL] Compactage de la baseEST CE KE UNE BD MYSQL PEUT S'AUTO-UPDATER ????
Plus de sujets relatifs à : [MySQL] récupérer les valeurs possibles d'un enum


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