[php] extraire le type enum de mysql?

cornnery1 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
 Cobax -
bonjour à tous j'aimerais savoir comment extraire les données de type enum d'une base mysql pour pouvoir les utiliser dans un formulaire
A voir également:

1 réponse

florent
 
hello
j'aimerai savoir si tu as reussi a trouver la reponse a ta question et si oui pourrais tu me la donner j'ai un enum dans une table annonce qui a trois champs "simple","emploi","fonciere" help me stp
1
soalanis Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
$requete = mysql_query("show columns from ".$nom_table." like 'nom-enum'");

while($donnees = mysql_fetch_array($requete))
{
if(preg_match('!enum(.+)!', $donnees['Type']))
{
$enum = preg_replace ('!^enum\((.+)\)$!', '$1', $donnees['Type']);

$enum = str_replace ("'", "", $enum);
$enum = explode (',', $enum);
echo '<select name="liste_enum'">';
foreach ($enum as $valeur)
echo ' <option value="' . $valeur . '">' . $valeur . '</option>';
echo '</select>';
}
}
0
Cobax > soalanis Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Bien pratique ce script !
il y a quelques erreurs de syntaxe. Le voici actualisé et compatible avec MYSQLI:

$enumeration = $mysqli->query("show columns from NOMDELATABLE like 'NOMDELACOLONNE'");
$row = $enumeration->fetch_assoc();
$enumeration->data_seek(0);
while ($row = $enumeration->fetch_assoc()) {

if(preg_match('!enum(.+)!', $row['Type'])) {

$enum = preg_replace ('!^enum\((.+)\)$!', '$1', $row['Type']);

$enum = str_replace ("'", "", $enum);
$enum = explode (',', $enum);
} // if
echo '<select name="connu_par">
';
foreach ($enum as $valeur) {
echo '<option value="' . $valeur . '">' . $valeur . '</option>
';
} //foreach
echo '</select>';

} // while

$enumeration->close();
0