[php] extraire le type enum de mysql?

Fermé
cornnery1 Messages postés 3 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 30 mars 2009 - 13 juil. 2006 à 23:55
 Cobax - 1 mars 2016 à 13:33
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

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 samedi 21 juillet 2007 Statut Membre Dernière intervention 21 juillet 2007
21 juil. 2007 à 16:11
$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 samedi 21 juillet 2007 Statut Membre Dernière intervention 21 juillet 2007
1 mars 2016 à 13:33
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