PHP recuperer enum

Résolu
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
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.

3 réponses

le père
 
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
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
je précise que le champ Droitemail est un enum (admin, moderateur, ....)
0
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, c'est bon !!
il fallait juste mettre ça :
$EnumArray= parse_enum($row_EnumList['Type']);
0