[Postgres][PHP] Jak wypisać na ekranie w PHP zawartość dowolnej tabeli?

0x01 graphic

Chcesz wykonać dowolne zapytanie SQL (np. pobrać zawartość całej tabeli) i wypisać wynik zapytania (czyli zawartość rekordów) na ekranie.

0x01 graphic

To chyba najczęściej wykorzystywany fragment kodu w komunikacji z bazą danych. Pozwala wynik zapytania SQL wypisać na ekranie w postaci rekordów z tabeli. Oto gotowy kod programu:

<?

$pyt="SELECT * FROM pracownicy";

$baza = pg_Connect("dbname=jakasbaza port=5432 user=uzytkownik");

$wynik = pg_Exec($baza, $pyt);

pg_close($baza);

$ile = pg_numrows($wynik);

for ($i=0;$i<$ile;$i++) {

$rekord = pg_fetch_row($wynik, $i);

for ($j=0; $j<count($rekord); $j++) {

echo "$rekord[$j]&nbsp; ";

}

echo "<br>";

}

?>

Pytaniem SQL jest tutaj pobranie zawartości całej tabeli o nazwie pracownicy. Następnie za pomocą pg_numrows() pobieramy ilość rekordów jakie pasują do pytania SQL, w naszym wypadku sa to wszystkie rekordy z bazy, bo wybraliśmy całą bazę.

Każdy rekord zostaje następnie pobrany za pomocą pg_fetch_row() i wypisany na ekran po dodaniu odstępu. Po każdym rekordzie dodawane jest też przejście do nowej lini <br>.