Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ SQLite _ [SQLite3][PHP] Wypisanie ilości i listy kolumn z tabeli

Napisany przez: rafineria888 9.03.2015, 22:52:29

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

Napisany przez: Pyton_000 10.03.2015, 07:06:19

A w czym problem? Wystarczy przecież pobrać 1 rekord z fetchAll i w pętlki wyświetlić. Przykłady masz w Manualu

Napisany przez: rafineria888 10.03.2015, 16:58:57

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

Napisany przez: Pyton_000 10.03.2015, 18:20:23

Wybacz mój błąd smile.gif Oczywiście musisz uzyć fetchArray albo columnName (przykład w manualu w komentarzu)

Napisany przez: rafineria888 11.03.2015, 18:30:03

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'] . " "; }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)