[php] extraire le type enum de mysql?

bonjour à tous j'aimerais savoir comment extraire les données de type enum d'une base mysql pour pouvoir les utiliser dans un formulaire

1 réponse

  1. 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. $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>';
      }
      }
    2. @soalanisBien 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();