Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQLite3][PHP] Wypisanie ilości i listy kolumn z tabeli
rafineria888
post 9.03.2015, 22:52:29
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.08.2014

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


Witam.
Nie mogę sobie poradzić ze zrobieniem w php listy pól, które są w danej tabeli.
W sqlite3 służyć powinna do tego funkcja columnName. Jednak w przeciwieństwie do fetchArray nie zapisuje ona danych do tablicy sad.gif
W związku z tym nie mam pomysłu jak wyświetlić taką listę nazw kolumn z tabeli.
Przy okazji dobrze było by wiedzieć jak wypisać ilość takich pól.
NP: Mam 3 pola o nazwach: pole1, polee2, pooleee3

Prosze o wskazówki wink.gif

Ten post edytował rafineria888 9.03.2015, 22:53:35
Go to the top of the page
+Quote Post
Pyton_000
post 10.03.2015, 07:06:19
Post #2





Grupa: Zarejestrowani
Postów: 7 821
Pomógł: 1375
Dołączył: 26.10.2005

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


A w czym problem? Wystarczy przecież pobrać 1 rekord z fetchAll i w pętlki wyświetlić. Przykłady masz w Manualu
Go to the top of the page
+Quote Post
rafineria888
post 10.03.2015, 16:58:57
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.08.2014

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


Nie wiem jak użyć fetchAll.
W manualu do sqlite3 nie znalazłem takiej instrukcji, a w manualu do sqlite jest wzmianka o niej w obiektowym programowaniu.
Nawet jak to uzyłem to wyskoczył error:
"Call to undefined method SQLite3Result::fetchAll() "
KOD:
Kod
    $result = $db->query('SELECT * FROM foo');
    $row = $result->fetchAll();
    echo $row[0].$row[1];

Ten kod wyświetla 2 wiersze, tylko zamiast fetchAll powinno byc fetchArray.
Z tego co przeczytałem to fetchAll pobiera wszystkie dane z tabeli wiec w tym przypadku nie powinno mieć to znaczenia czy użyje All lub Array
Go to the top of the page
+Quote Post
Pyton_000
post 10.03.2015, 18:20:23
Post #4





Grupa: Zarejestrowani
Postów: 7 821
Pomógł: 1375
Dołączył: 26.10.2005

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


Wybacz mój błąd smile.gif Oczywiście musisz uzyć fetchArray albo columnName (przykład w manualu w komentarzu)
Go to the top of the page
+Quote Post
rafineria888
post 11.03.2015, 18:30:03
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.08.2014

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


Rozwiązałem już problem. Dla ciekawych:
Cytat
//wyświetlanie wszystkich wierszy z tabeli
$result = $db->query('SELECT * FROM foo');
$row = $result->fetchArray();
echo "wiersze w tabeli foo: ".$row[0]." ".$row[1]."<br>";

//wyświetlanie wszystkich tabel z bazy $db
$tablesquery = $db->query("SELECT name FROM sqlite_master WHERE type='table';");
echo "lista tabel: ";
while ($table = $tablesquery->fetchArray()) {
echo $table['name'] . " "; }
echo "<br>";

//wyświetlanie wszystkich pól z tabeli
$colsq = $db->query("PRAGMA table_info(foo)");
while ($cols = $colsq->fetchArray()) {
echo $cols['name'] . " "; }


Ten post edytował rafineria888 11.03.2015, 18:30:47
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 Wersja Lo-Fi Aktualny czas: 6.12.2019 - 04:46