Jesteś tutaj: webmade.org >> kursy online >> kurs mysql >> Część 1
autor: Piotr Kuźmiński, ostatnia modyfikacja: 2007-10-14
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
szukaj: mysql_fetch_row sql kurs mysql
Zagadnienia poruszane w tej części kursu:
© 2004-2008 copyright by webmade.org