<?php

// ------------------------------------------------------------------------- //
// Valeurs possibles d'un champs énuméré                                     //
// ------------------------------------------------------------------------- //
// Auteur: z0rglub <plegall@ifrance.com>                                     //
// Web:    http://www.z0rglub.com                                            //
// ------------------------------------------------------------------------- //

/*
Cette fonction permet de récupérer simplement toutes les valeurs possibles d'un
champ énuméré dans une table de votre base de données.
Contrat :
    - La connexion à la base de données doit être réalisée lors de l'appel
      de la fonction.
    - Le champ considéré doit être de type ENUM (une seconde version pourrait
      le vérifier, mais c'est quasiment inutile donc je ne l'ai pas intégré)

------------------------------------------------
Fonction : get_enums
Entrée : une chaîne contenant le nom d'une table, une chaîne contenant le nom
         d'un champ de type ENUM de la table
Sortie : tableau de chaîne contenant toutes les possibilité du champ ENUM
Description : Cette fonction permet de récupérer les différentes possibilités
              d'un ENUM
------------------------------------------------
*/

function get_enums($table, $field)
{
    
// on récupère les propriétés de la table :
    // chaque ligne représente un champ de la table :
    // les colonnes sont 'Field','Type'...
    
$result=mysql_query("desc $table");

    while (
$row=mysql_fetch_array($result))
    {
        
// on ne s'intéresse qu'au champ donné en paramètre
        
if ($row['Field']==$field)
        {
            
// on récupère les types possible
            // la chaîne du champ 'Type' est ainsi constituée :
            // enum('bleu','vert','marron')
            
$option=explode(",", substr($row['Type'], 5, -1));
            for(
$i=0;$i<sizeof($option);$i++)
            {
                
// suppression des apostrophes pour chaque valeur possible
                
$option[$i] = str_replace("'","",$option[$i]);
            }                       
        }
    }
    
mysql_free_result($result);
    return(
$option);
}

?>