Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: odczytanie typu pola w bazie
Forum PHP.pl > Forum > Bazy danych > MySQL
sobstel
czy znacie jakikolwiek sposob odczytania typu pola w bazie z poziomu php? konkretnie chodzi mi o odczytanie jakie wartosci sa zdefinowanie w polu typu ENUM. jest to w ogole mozliwe?
mhs
ja znam takie zapytanie, które może wyświetlić wartości w polu typu enum:
  1. SHOW COLUMNS
  2. FROM nazwaTabeli LIKE 'nazwaPolaTypuEnum';


reszte juz mozna "obrobić" w php
sobstel
wielkie dzieki za pomoc. o to wlasnei chodzilo!

dla tych ktorzy beda mieli podobny problem i tu trafia zamieszczam na szybko sklecony kawalek kodu php ktory wyciagnie nazwy bedacy w enum (na set tez powinno dzialac) do tablicy numerycznej :

  1. <?php
  2.  
  3. $res = mysql_query('SHOW COLUMNS FROM table_name LIKE \"column_name\"');
  4. $arr = mysql_fetch_array($res);
  5. preg_match_all('/'(w*)'/', $arr['Type'], $matches);
  6. $enum_values = $matches[1]; // indeks 1, bo 0 to sa wyciagniete razem z cudzyslowami,
  7.                             // wlasciwe wartosci (bez cudzyslowow) to subpattern
  8.                             // nie wpadlem na sposob jak inaczej wyciagnac za pomoca preg
  9.  
  10. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.