konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

Witam! Czy istnieje mozliwosc odczytania za pomoca php nazwy kolumn znajdujacych sie w jakiejs okreslonej tabeli?

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

jaka baza danych?

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

takim samym zapytaniem jakim bys to zrobil w terminalu/kliencie SQL.

np.

desc Nazwa_Tabeli

w przypadku MySQL.

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

postgreSQL

inne rozwiazanie jest takie ze poprostu odczytujemy te nazwy z tablicy juz w php. Bo oprocz nazw kolumn mamy pobrac ich zawartosc.

Tylko nie wiem jak to zrobic :)

hmmm. Chyba znalazlem odpowiednia funkcje:


array_keys();
Piotr Burant edytował(a) ten post dnia 11.03.10 o godzinie 00:59

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

SHOW COLUMNS FROM tabela lub mysql_fetch_field w php

o to chodzi?

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

prawdopodobnie tak :) jednak mi bardziej przyda się odczytanie kluczy tablicy. O ile sie nie myle to beda one odpowiadaly kolumnom z tablei. Dzieki wszystkim za pomoc. pozdrawiam
Krystian O.

Krystian O. IT Project Manager w
Blue Services Sp. z
o.o.

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

W MySQL jest polecenie DESCRIBE - otrzymasz strukturę tabeli, czyli nazwy kolumn, ich typy, wartości domyślne, komentarze itd.

podobno w PostgreSQL ekwiwalentem tego jest polecenie \d nazwa_tabeliKrystian O. edytował(a) ten post dnia 11.03.10 o godzinie 06:47

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

Piotr Burant:
prawdopodobnie tak :) jednak mi bardziej przyda się odczytanie kluczy tablicy. O ile sie nie myle to beda one odpowiadaly kolumnom z tablei. Dzieki wszystkim za pomoc. pozdrawiam

Mylisz się, klucze odpowiadają nazwom pod jakimi zwracane są wartości - niekoniecznie są to nazwy kolumn.

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

SELECT table_name, column_name, is_nullable, data_type, character_maximum_length
FROM INFORMATION_SCHEMA.Columns
WHERE table_name = 'employees'


http://www.petefreitag.com/item/666.cfm
Jakub Rajchowiak

Jakub Rajchowiak właściciel,
Rajchowiak.com

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

Michał Wachowski:
Piotr Burant:
prawdopodobnie tak :) jednak mi bardziej przyda się odczytanie kluczy tablicy. O ile sie nie myle to beda one odpowiadaly kolumnom z tablei. Dzieki wszystkim za pomoc. pozdrawiam

Mylisz się, klucze odpowiadają nazwom pod jakimi zwracane są wartości - niekoniecznie są to nazwy kolumn.

ale jesli zrobisz:
SELECT * FROM.......
pozniej
while($row= mysql_fetch_assoc($result){
$klucz=key($row);
$wart=$row;
}

to chyba rozwiaze tez sytuacje i beda i wartosci i klucze.
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

Tylko że większość zapytań to nie SELECT *, tylko SELECT a.cosTam AS costamInnego, b.cosJeszcze AS inneCos, AGR(c.kolumna) AS agrKolumna...

information_schema all the way.
Bartosz Ratajczyk

Bartosz Ratajczyk MS SQL Developer

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

Piotr Burant:
postgreSQL

ZF stosuje taki kod (Db/Adapter/Pdo/PgSql.php):

$sql = "
SELECT
a.attnum,
n.nspname,
c.relname,
a.attname AS colname,
t.typname AS type,
a.atttypmod,
FORMAT_TYPE(a.atttypid, a.atttypmod) AS complete_type,
d.adsrc AS default_value,
a.attnotnull AS notnull,
a.attlen AS length,
co.contype,
ARRAY_TO_STRING(co.conkey, ',') AS conkey
FROM pg_attribute AS a
JOIN pg_class AS c ON a.attrelid = c.oid
JOIN pg_namespace AS n ON c.relnamespace = n.oid
JOIN pg_type AS t ON a.atttypid = t.oid
LEFT OUTER JOIN pg_constraint AS co ON (co.conrelid = c.oid
AND a.attnum = ANY(co.conkey) AND co.contype = 'p')
LEFT OUTER JOIN pg_attrdef AS d ON d.adrelid = c.oid AND d.adnum = a.attnum
WHERE a.attnum > 0 AND c.relname = ".$this->quote($tableName);
if ($schemaName) {
$sql .= " AND n.nspname = ".$this->quote($schemaName);
}
$sql .= ' ORDER BY a.attnum';


Masz nie tylko nazwy kolumn. Dostosuj pod siebie

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

mi wystarczy funkcja ktora podalem w poprzednim poscie poniewaz mialem nastepujacy problem:

w bazie danych sa przykladowe zapytania do ktorych nastepnie tworzymy warunki na podstawie zmiennych znajdujacych sie w skrypcie.

uzupelnione zapytanie wykorzystuje do pobrania danych sa one zapisane do tablicy.

Z tablicy tej tworze tabele i w nagłówkach maja byc nazwy kolum lub nazwy ustalone w zapytani sql (kolumna as NazwaNagłówka). Troche źle sprecyzowalem swój problem.

Dodam również ze używam ZF wiec moze Bartosz poda mi jakis inny bardziej profesjonalny sposob :)

Poradzilem sobie z tym uzywajac funkcji array_keys() jednak wydaje mi sie ze to dosyc prymitywny sposobPiotr Burant edytował(a) ten post dnia 13.03.10 o godzinie 01:24

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

niezle nam sie temat rozwinal...
Piotr Burant:
Witam! Czy istnieje mozliwosc odczytania za pomoca php nazwy kolumn znajdujacych sie w jakiejs okreslonej tabeli?

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

Tomasz Grzechowski:
niezle nam sie temat rozwinal...

pewnie jakies zaliczenie :-)

konto usunięte

Temat: Jak odczytać nazwy kolumn w tabeli bazy danych

nie nie zaliczenie, nie chcialem na poczatku niepotrzebnie komplikowac wiec napisalem krotko na czym polega moj problem, bez poruszania szczegolow



Wyślij zaproszenie do