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

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*