Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobranie nazwy kolumn z mysql
piorac
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.12.2006

Ostrzeżenie: (0%)
-----


Mam pytanko,
w jaki sposób pobrać z poziomu php nazwy kolumn z okreslonej tabeli w bazie mysql i wyswietlic te nazwy na stronie??
Go to the top of the page
+Quote Post
Denver
post
Post #2





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Giżycko / Wrocław

Ostrzeżenie: (0%)
-----


Skorzystaj z polecenia SHOW COLUMNS: http://dev.mysql.com/doc/refman/5.0/en/show-columns.html
Go to the top of the page
+Quote Post
m72
post
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 25.12.2012

Ostrzeżenie: (0%)
-----


No tak, ale mi chodzi o to zeby odpowiedzią na poszukiwane pytanie do bazy był wynik ->
Id, Name, Country, District, Population z przykładu który jest w dokumentacji którą podałeś.
Jak takie zapytanie sformułować. Reasumując chodzi mi o to zeby w wyniku dostać same nazwy kolumn w tabeli.
Go to the top of the page
+Quote Post
Greg0
post
Post #4





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


No i tym wynikiem właśnie będą nazwy które chcesz. W PHP wyświetlasz w pętli wartości tablicy z kluczem 'Field'
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #5





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Tylko, że SHOW COLUMNS działa tylko dla tabel. Jeśli chcesz uzyskać taki sam efakt, ale z dowolnego zapytania, to popatrz na mysql_field_type. Tam jest przykład
Go to the top of the page
+Quote Post
biedronpl
post
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 9.03.2013
Skąd: Kosmostumostów

Ostrzeżenie: (0%)
-----


Wybaczcie moją zabawę w małego archeologa, ale nie chciałem nowego wątku zakładać.

Otóż jak wykorzystuję polecenie mysqla SHOW COLUMNS to jest wszystko cacy, pobiera mi dobry wynik, tylko jeśli ktoś by mógł, to niech mi wytłumaczy łopatologicznie jak zczytać po kolei wiersze z tej tabeli 2-wymiarowej?
Struktura:
FIELD | Type itd <=nazwy kolumn
ID
klient
data

I teraz jak po kolei wyświetlić tylko komórki pod FIELD? Żebym miał wynik na ekranie "ID", "klient", "data" itd.

CODE
$sql =mysql_query( "SHOW FIELDS FROM sklep_zamowienia") or die("Blad sql".mysql_errno());
$row = mysql_fetch_array($sql, MYSQL_ASSOC);
for($i=0; $i< 4; $i++)
{
echo $row['Field'][$i];
}

Na chwilę obecną utknąłem z czymś takim, co oczywiście nie działa, wyświetla jedynie "ID".

Ten post edytował biedronpl 24.04.2013, 13:47:35
Go to the top of the page
+Quote Post
walkie
post
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 21.11.2011

Ostrzeżenie: (0%)
-----


  1. while($item = mysql_fetch_array($sql))
  2. {
  3. echo $item['Field'];
  4. }


Radzę zupdate'ować informacje nt. aktualnych trendów zapytań do baz :-P

Ten post edytował walkie 24.04.2013, 14:17:27
Go to the top of the page
+Quote Post
biedronpl
post
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 9.03.2013
Skąd: Kosmostumostów

Ostrzeżenie: (0%)
-----


Whoah! Działa. Dzięki wielkie ;-)

Ano trzeba będzie :]
Go to the top of the page
+Quote Post
DDaviDD
post
Post #9





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.04.2013

Ostrzeżenie: (0%)
-----


Witam,
odświeżę troszkę wątek.

Jeśli chodzi o zczytywanie i wypisywanie nazw kolumn to wszystko ładnie śmiga poza tym, że indeksuje mi te nazwy od 1 a nie od 0.
Tzn nie wyświetla pierwszej kolumny z ID tylko zaczyna od kolejnej po niej następującej.
Jak to rozwiązać aby indeks zerowy czyli ID też był wyświetlany?

  1. $sql = mysql_query("SHOW FIELDS FROM".$nazwa_tabeli) or die("Blad sql".mysql_errno());
  2. $row = mysql_fetch_array($sql, MYSQL_ASSOC);
  3. while($item = mysql_fetch_array($sql))
  4. {
  5. echo $item['Field'];
  6. }


Ten post edytował DDaviDD 25.04.2013, 15:57:52
Go to the top of the page
+Quote Post
franki01
post
Post #10





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


  1. $row = mysql_fetch_array($sql, MYSQL_ASSOC);

Tę drugą linijkę wyrzuć zupełnie, bo właśnie ona zabiera Ci ten indeks 0.

EDIT:
Poza tym nie wiem czy w pętli nie powinieneś użyc mysql_fetch_assoc, końcówka _array bodajże zwraca klucze indeksowane od 0 numerycznie w górę.

Druga rzecz - przerzucaj się powoli na bibliotekę MySQLi albo PDO. mysql_* jest powoli wycofywana.

Ten post edytował franki01 26.04.2013, 22:31:29
Go to the top of the page
+Quote Post
DDaviDD
post
Post #11





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.04.2013

Ostrzeżenie: (0%)
-----


Wystarczyło usunięcie wspomianej wyżej przez Ciebie jednej linii. Dzieki wielkie za wskazówkę.

Co do MySQLi zdaję sobie z tego sprawę, niestety zmuszony bylem pracować na PHP4 i stąd starsze rozwiązanie.
Dzięki wielkie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 00:02