PHP recuperer enum

Résolu
Bonjour,
Voilà j'ai le problème suivant :

je mets une fonction qui va me rendre les éléments d'un enum mais ça ne me rend qu'un notice :
Notice: Undefined index: Droitemail in C:\Program Files\wamp\www\BO\recuperer_enum.php on line 26

Mon bout de code est le suivant :
<?php
function parse_enum($str) {
  $reg = "^enum\('(.*)'\)$";
  $str = ereg_replace($reg,'\1',$str);
  return split("[']?,[']?",$str);
}


//On se connecte à la base de données

	$host = "localhost";
	$user = "root"; 			// vide ou "root" en local
	$passBD = ""; 				// vide en local
	$bdd = "mabase"; 	// nom de la BD

$link = mysql_connect($host,$user,$passBD) or die ("Impossible de se connecter à $host");
mysql_select_db($bdd, $link) or die ("Impossible de se connecter à $host");

$query_EnumList = " DESCRIBE Utilisateur 'Droitemail' ";

$EnumList = mysql_query($query_EnumList, $link) or die(mysql_error());
$row_EnumList = mysql_fetch_assoc($EnumList);
$totalRows_EnumList = mysql_num_rows($EnumList);

$EnumArray= parse_enum($row_EnumList['Droitemail']);
$count_EnumArray = count($EnumArray);

$i=0;
?>

Droit e-mail : <select name="categorie">

<?php do { ?> 

    <option value="<?php echo $EnumArray[$i]; ?>" ><?php echo $EnumArray[$i]; ?></option>

<?php 

$i++;
} while ($i != $count_EnumArray); ?>

</select>


Merci.
Configuration: Debian 5.0.1
Firefox 3.5

3 réponses

  1. Bonjour

    La requête DESCRIBE ne rend aucun champ qui s'appelle Droitemail. Donc pas de $row_EnumList['Droitemail'] dans le résultat
    Essaye avec phpmyadmin, tu verras que l'information que tu cherches est dans un champ qui s'appelle Type. Et elle n'a peut-être pas exactement la forme que tu attends.
    1. je précise que le champ Droitemail est un enum (admin, moderateur, ....)
      1. Merci, c'est bon !!
        il fallait juste mettre ça :
        $EnumArray= parse_enum($row_EnumList['Type']);