Podejrzewam, że wielu początkujących programistów (właściwie to wiem to z własnego doświadczenia
) ma problem z praktycznym wykorzystaniem dobroci, jaką dają nam bazy danych. Początki zawsze bywają trudne, dlatego zdecydowałem się napisać tą krótką notkę, aby stało się jasne, w jaki sposób połączyć się z bazą, wykonać zapytanie i wyświetlić dane na stronie.
Zakładam przy tym, że użytkownik ma już utworzoną bazę o nazwie ‘nazwa_bazy’ i że jest w niej tabela ‘klient’ w której są następujące kolumny: id, imie, nazwisko, adres, telefon no i że są wpisane jakieś dane.
W jaki sposób utworzyć bazę napiszę (może
) w innej notce.
<? // Do połączenia z bazą posłuży nam funkcja db_connect(). function db_connect() { // łączymy się z bazą przy pomocy poniższej funkcji podając jej 3 parametry - nazwę hosta, login i hasło do bazy $database=mysql_connect ("localhost", "root", "haslo") or die("Nie mogę połączyć z bazą: ".mysql_error()); // wybieramy bazę danych - na serwerze może być ich wiele mysql_select_db('nazwa_bazy') or die("Nie mogę wybrać bazy danych: ".mysql_error()); // wykonujemy zapytanie mające na celu określenie, jakiego kodowania znaków będzie używał klient (my) przy wysyłaniu zapytań do bazy. Jako, że UFT-8 jest już standardem: mysql_query("SET NAMES 'utf8'"); } db_connect(); // łączymy się i mamy nadzieję że wpisaliśmy wszystko OK i PHP nie wywali błędu :P // odczytujemy dane z bazy $query="SELECT * FROM klient"; $result=mysql_query("$query"); // pamiętaj o apostrofach! echo "<table><tr><td>id</td><td>imie</td><td>nazwisko</td><td>adres</td><td>telefon</td></tr>"; while ($row=mysql_fetch_array($result)) // pętla która rozbija wynik zapytania na poszczególne wiersze { echo "<tr><td>".$row['id']."</td><td>".$row['imie']."</td><td>".$row['nazwisko']."</td><td>".$row['adres']."</td><td>".$row['telefon']."</td></tr>"; } echo "</table>"; // tym sposobem wyśwetliliśmy w tabelce wszystkie wiersze, które znajdują się w tabeli klient //zapisujemy dane do bazy. załóżmy, że chcemy zapisać do bazy dane następującego klienta: $imie="zenek"; $nazwisko="gacki"; $adres="12-123 Konowałko, ul. Kuciapka 3a"; $telefon="12 3456789"; //w tym celu musimy wykonać zapytanie INSERT INTO: $query="INSERT INTO klient (id,imie,nazwisko,adres,telefon) VALUES (NULL, '$imie', '$nazwisko', '$adres', '$telefon')"; $result=mysql_query("$query"); //pamiętaj o apostrofach! ?>
… i to na tyle. Odczytaliśmy z określonej tabeli z bazy wszystkie wiersze, oraz dopisaliśmy nowy.
W razie pytań, uwag i niejasności zapraszam do komentowania
