webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> kursy online >> kurs mysql >> Część 1

Język SQL: wybieranie rekordów

autor: Piotr Kuźmiński, ostatnia modyfikacja: 2007-10-14

szukaj: mysql_fetch_row mysql_fetch_row sql sql kurs mysql kurs mysql

Jeśli chcemy przeszukać naszą tabelę w poszukiwaniu jakiegoś konkretnego rekordu robimy to za pomocą komendy SELECT według składni:

SELECT nazwa_pola1,nazwa_pola2,...nazwa_polaN FROM nazwa_tabeli [WHERE warunek]

W nazwach pól wybieramy jakie kolumny chcemy wyświetlić z danej tabeli, możemy również zrobić to w następujący sposób:

SELECT * FROM nazwa_tabeli [WHERE warunek]

W powyższym wypadku wybierzemy wszystkie pola z danej tabeli jednak takie rozwiązanie jest nie polecane z powodów wydajnościowych - lepiej wypisywać konkretne nazwy pól, które nas interesują.

Warunek nie jest wymagany do określenia. Jeśli nie określimy warunku wybrane zostaną wszystkie pola z tabeli. Załóżmy, że chcemy się dowiedzieć ile lat już gra i ile punktów zrobił zawodnik o nazwisku "Pipen" - robimy to w następujący sposób

$zapytanie = "SELECT `lata`,`punkty` FROM `nba` WHERE `nazwisko`='Pipen'";
$idzapytania = mysql_query($zapytanie);

Po wykonaniu tego zapytania na serwerze baz danych zostaną wybrane wszystkie rekordy, w których wartość pola nazwisko będzie równe Pipen.

Uwaga: w zależności od ustawień serwera baz danych wielkość liter może mieć znaczenie dlatego "Pipen" nie zawsze dla serwera oznacz to samo co "pipen".

Jeśli będziemy chcieli wybrać wszystkie rekordy z tabeli po prostu unikamy warunku. Np chcemy wybrać identyfikatory, nazwiska, lata spędzone w lidze i punkty zebrane wszystkich zawodników - zrobimy to następująco:

$zapytanie = "SELECT `id`,`nazwisko`,`lata`,`punkty` FROM `nba`";
$idzapytania = mysql_query($zapytanie);

Gdy mamy już nasze zapytanie dobrze napisane i wysłane do serwera nic nam nie pozostaje jak wyświetlenie wyników zapytania. Przykład:

$zapytanie = "SELECT `id`,`nazwisko`,`lata`,`punkty` FROM `nba`";
$idzapytania = mysql_query($zapytanie);

echo '<table>';
while ($wiersz = mysql_fetch_row($idzapytania)) 
 {
  echo '<tr><td>'. $wiersz[0] .'</td><td>'. $wiersz[1] .'</td><td>'. $wiersz[2] .'</td><td>'. $wiersz[3] .'</td></tr>';
 }
echo '<table>';

Istota tego kodu ukryta jest w funkcji mysql_fetch_row, która przy każdej iteracji pętli while wyciąga dany wiersz zapytania i zapisuje go w tablicy $wiersz indeksowanej od zera, wypełnionej elementami rekordu wybranymi za pomocą zapytania. Czyli element o indeksie zero będzie równy wartości danego rekordu pola id, element o indeksie jeden będzie równy wartości danego rekordu pola nazwisko itd. Efektem powyższego kodu będzie wyświetlenie tabeli z graczami oraz ich danymi.

Piotr Kuźmiński

Zagadnienia poruszane w tej części kursu:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org