Wyświetlenie rekordów z MySQL
Dane zapisane w bazie można wyświetlić na stronie na wiele sposobów. Najprostszym z nich jest użycie tabelki.
Na początek łączymy się z bazą:
$db = mysql_connect($db_host, $db_user, $db_pass ) ; if ( !$db ) die( "Brak połączenia" ); $ok = mysql_select_db($db_db) ; if( !$ok ) die( "Brak bazy" );
Następnie wykonujemy zapytanie:
$query = "select * from tabela" ; $result = mysql_query( $query ) ;
(w $result mamy zestaw wyników lub false w przypadku złego zapytania)
Na koniec przechodzimy przez wszystkie rekordy i kolumny:
echo '<table>' ; while( $row = mysql_fetch_assoc( $result )) { // $row - rekord w postaci [nazwa] = wartość echo '<tr>' ; foreach( $row as $klucz => $wartosc ) { echo '<td>'.$wartosc.'</td>' ; } echo '</tr>' ; } echo '</table>' ;
Jeżeli potrzebna jest liczba rekordów, to możemy użyć mysql_num_rows lub zapisać odpowiednio zapytanie. Funkcję mysql_num_rows najlepiej użyć, gdy zostaną wyświetlone na stronie wszystkie rekordy. Jeżeli potrzebna jest wyłącznie informacja o tym ile jest rekordów, to stosujemy np. zapytanie
$query = "select count(*) as liczba from tabela" ;
Dzięki temu z bazy pobrana zostanie wyłącznie pojedyncza liczba (zamiast wszystkich rekordów).
Pobieranie danych z bazy wiąże się także z określeniem jakie kolumny mają zostać przekazane do skryptu. Jeżeli z tabeli mają zostać pobrane wszystkie kolumny, to * będzie w sam raz. Natomiast w przeciwnym wypadku najlepiej będzie wymienić te pola, które zostaną użyte w skrypcie.
$query = "select * from tabela" ; // pobranie wszystkich kolumn $query = "select wazna, kluczowa, niezbedna, wymagana from tabela" ; // pobranie tylko kolumn: wazna, kluczowa, niezbedna i wymagana
Dzięki temu ograniczamy wielkość danych przepychanych z mysql do php, a także rozmiar danych na których będzie później operować skrypt.
Dodaj komentarz