[HELP MySQL - PHP] type enum -> menuselect

Discussion dans 'Web, design' créé par alan, 16 Janvier 2004.

Statut de la discussion:
Fermée.
  1. Offline
    alan Elite
    comment récupérer les valeurs d'un type enum dans une table pour pouvoir les remettre en menuselect ??

    table : `role` enum('R2','R1','B','S') default NULL

    tout ca de MySQL vers PHP (HTML)

    bien à vous!
    alan, 16 Janvier 2004
    #1
  2. Offline
    kokotchY Elite
    je ne connais pas enum mais essayé de faire un mysql_fetch_array de la requete puis un print_r pour voir si les infos que tu as demandé sont bien la !
    kokotchY, 16 Janvier 2004
    #2
  3. Offline
    T-Tus Touriste
    :roll:
    T-Tus, 16 Janvier 2004
    #3
  4. Offline
    kokotchY Elite
    ca c'est utile...
    kokotchY, 16 Janvier 2004
    #4
  5. Offline
    alan Elite
    un type énum

    Code:
    CREATE TABLE `staff_plaines` (
      `id` mediumint(8) NOT NULL default '0',
      `plaine` enum('Ath','Tournai','Enghien') default NULL,  <<==
      `date` enum('1e sem','2e sem','3e sem','4e sem') default NULL, <<==
      `role` enum('R2','R1','B','S2','S1') default NULL, <<==
      `name` varchar(127) NOT NULL default '',
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM;

    d'après Nexen
    Une énumération ENUM est une chaîne dont la valeur est choisie parmi une liste de valeurs autorisées lors de la création de la table. ...suite


    edit :
    le but de la fonction étant de pouvoir reprendre les valeurs du type enum
    pour les plaine avoir Ath, Tournai, Enghien
    pi les passer en menuselect
    idem pour date et role
    alan, 16 Janvier 2004
    #5
  6. Offline
    guslinux Gamerz'ien
    met un int ... et tu fais une petite fonction avec un switch qui te renvoies le libelé en fonction de l'int que tu lui donne ... perso je fais comme ca :D les puristes me diront "t une merde" mais je m'en fous, mes trucs tournent bien donc ... voila koi... :idea:
    guslinux, 16 Janvier 2004
    #6
  7. Offline
    alan Elite
    grr tout a fait
    :p nop pas une merde qd mem tu fais de beaux trucs mais aime bien me prendre la tete moi deja! qd g qqch jve ke ca marche!
    et pi ca c plus simple mem si la fonction est longue qd elle est faite jpe la partager et tt
    masi perfere avoir une DB légère et pas de switch pcq ca me serai utile a pls endroit ca ferai trop de bordel!!
    alan, 16 Janvier 2004
    #7
  8. Offline
    alan Elite
    voila du forum nexen

    Code:
    function enum_2_menuselect($table, $champ){ 
    /*
     Affiche un menu select en fonction des valeurs possible d'un type enum dans une table donnée
     Le nom du type enum à le même nom que le nom du menuselect
    */
     $resultat=mysql_query("SHOW COLUMNS FROM `$table` LIKE '$champ'") or die(mysql_error());
     $row=mysql_fetch_object($resultat);
     $enum_val=substr($row->Type,5,strlen($row->Type)-7);
     $enum_val=str_replace('\'','',$enum_val);
     $tab_val=split(',',$enum_val);
     //Ensuite pour l'affichage du formulaire HTML
     echo '<select name="'.$champ.'">';
     for($i=0;$i<count($tab_val);$i++){
      echo '<option value="'.$tab_val[$i].'">'.$tab_val[$i].'</option>';
     }
     echo '</select>';   
    }
    // Usage : enum_2_menuselect($table, $champ);
    alan, 17 Janvier 2004
    #8
Statut de la discussion:
Fermée.