Współpraca PHP z MySql 1. Wyświetlanie danych z bazy: show.php mysql_select_db("login") or die('nie można wybrać bazy danych: '. if($link) echo "Połączono z bazą<br>"; $zapytanie="select * FROM studenci"; <p><b>w bazie są następujący studenci:</b></p> <table border="1" width="100%" class="danestudentow"> <tr> <td><b>id</b></td> <td width="70"><b>imię:</b> </td> <td width="70"><b>imię drugie:</b> </td> <td width="90"><b>nazwisko:</b> </td> <td width="80"><b>data urodzenia:</b> </td> <td width="30"><b>płeć:</b> </td> <td width="40"><b>wiek:</b> </td> <td><b>miasto_id:</b> </td> <td><b>kierunek_id:</b> </td></tr> while ($line = mysql_fetch_array($wynik)) echo "<tr> <td align=\"center\">".$line['id']."</td> <td align=\"left\">".$line['imie']."</td> <td align=\"left\">". $line['imie_drugie']."</td> <td align=\"left\">".$line['nazwisko']."</td> <td align=\"center\">".$line['data_ur']."</td> <td align=\"center\">".$line['plec']."</td> <td align=\"center\">".$line['wiek']."</td> <td align=\"center\">". $line['miasto_id']."</td> <td align=\"center\">". $line['kierunek_id']."</td> </tr>";
2. Usuwanie danych z tabeli mysql_select_db("baza") or die('nie można wybrać bazy danych: '. if(isset($_get["student"])) $usun = "delete from studenci where id=".$_get["student"].""; if(mysql_query($usun)) echo "Usunięto studenta o id: "."<b>". $_GET["student"]."</b>"; $zapytanie="select * FROM studenci"; <table border="1" width="100%"> <tr> <td><b>id</b> </td> <td width="110"><b>imię:</b> </td> <td width="110"><b>imię drugie:</b> </td> <td width="130"><b>nazwisko:</b> </td> <td><b>data urodzenia:</b> </td> <td><b>płeć:</b> </td> <td>usuń:</td> </tr> while ($line = mysql_fetch_array($wynik)) echo "<tr> <td align=\"center\">".$line['id']."</td> <td align=\"left\">".$line['imie']."</td> <td align=\"left\">". $line['imie_drugie']."</td> <td align=\"left\">".$line['nazwisko']."</td> <td align=\"center\">".$line['data_ur']."</td> <td align=\"center\">".$line['plec']."</td> <td align=\"center\"><a href=\"index.php? id=5&student=".$line['id']."\">usuń</a></td> </tr>";
3. Dodawanie danych do bazy (add.php i addaction.php) add.php <form action="addaction.php" method="post"> <table> <tr><td width="120"><b>imię:</b> </td><td width="200"><input type= "text" name="imie" /></td></tr> <tr><td width="120"><b>imię drugie:</b> </td><td width="200"><inpu t type="text" name="imie_drugie" /></td></tr> <tr><td width="120"><b>nazwisko:</b> </td><td width="200"><input t ype="text" name="nazwisko" /></td></tr> <tr><td width="120"><b>data urodzenia:</b> </td><td width="200"><i nput type="text" name="data_ur" /></td></tr> <tr><td width="120"><b>płeć:</b> </td><td width="200"><input type= "text" name="plec" /></td></tr> <tr><td width="120"><b>wiek:</b> </td><td width="200"><input type= "text" name="wiek" /></td></tr> <tr><td width="120"><b>miasto_id:</b> </td><td width="200"><input type="text" name="miasto_id" /></td></tr> <tr><td width="120"><b>kierunek_id:</b> </td><td width="200"><inpu t type="text" name="kierunek_id" /></td></tr> <tr><td></td><td><input type="submit" value="dodaj osobę" /></td>< /tr> </form> addaction.php <p><b>następująca osoba zostanie dodana do bazy:</b></p> <table border="1"> <tr><td width="120"><b>imię:</b> </td><td width="200"><? echo $_PO ST["imie"];</td></tr> <tr><td width="120"><b>imię drugie:</b> </td><td width="200"><? ec ho $_POST["imie_drugie"];</td></tr> <tr><td width="120"><b>nazwisko:</b> </td><td width="200"><? echo $_POST["nazwisko"];</td></tr> <tr><td width="120"><b>data urodzenia:</b> </td><td width="200"><? echo $_POST["data_ur"]; </td></tr> <tr><td width="120"><b>płeć:</b> </td><td width="200"><? echo $_PO ST["plec"];</td></tr> <tr><td width="120"><b>wiek:</b> </td><td width="200"><? echo $_PO ST["wiek"];</td></tr> <tr><td width="120"><b>miasto_id:</b> </td><td width="200"><? echo $_POST["miasto_id"];</td></tr> <tr><td width="120"><b>kiierunek_id:</b> </td><td width="200"><? e cho $_POST["kierunek_id"];</td></tr>
mysql_select_db("login") or die('nie można wybrać bazy danych: '. if($link) echo "Połączono z bazą"; $zapytanie = "INSERT INTO studenci(imie,imie_drugie,nazwisko,da ta_ur,plec,wiek,miasto_id,kierunek_id) VALUES( '".$_POST["imie"]."', '".$_POST["imie_drugie"]."', '".$_POST["nazwisko"]."', '".$_POST["data_ur"]."', '".$_POST["plec"]."', ".$_POST["wiek"].", ".$_POST["miasto_id"].", ".$_POST["kierunek_id"].")"; echo "<pre>$zapytanie</pre>"; if($wynik) echo "Dane zostały zapisane.<br>"; else echo "Dane nie zostały zapisane.<br>"; Zadanie 1. 1. Poprawić plik show.php, aby zamiast miasto_id, kierunek_id (tzn. liczb) pojawiały się konkretne nazwy miast i kierunków. 2. Dodać walidację w formularzu przyjmującym dane studenta (sprawdzić czy odpowiednie dane, np. imię, nazwisko, data urodzenia, wiek, płeć zostały na pewno wpisane w polu formularza) 5. Edycja danych w bazie za pomocą PHP (edit.php i editaction.php) edit.php
<h2>edytuj studenta</h2> mysql_select_db("login") or die('nie można wybrać bazy danych: '. if(isset($_get["student"])) $zapytanie = "SELECT * FROM studenci where id=".$_get["student"].""; echo $zapytanie; $wyniki = mysql_query($zapytanie); if (!mysql_numrows($wyniki)) echo '<b>brak takiego studenta</b>.'; exit; $wiersz = mysql_fetch_assoc($wyniki); echo ' <form action="index.php?id=401" method="post"> <input type="hidden" name="id" value="'.$_get['student'].'"/> <table border="1"> <tr><td width="120"><b>imię:</b> </td><td width="200"><input t ype="text" name="imie" value="'.$wiersz['imie'].'" /></td></tr> <tr><td width="120"><b>imię drugie:</b> </td><td width="200">< input type="text" name="imie_drugie" value="'. $wiersz['imie_drugie'].'" /></td></tr> <tr><td width="120"><b>nazwisko:</b> </td><td width="200"><inp ut type="text" name="nazwisko" value="'.$wiersz['nazwisko'].'" /> </td></tr> <tr><td width="120"><b>data urodzenia:</b> </td><td width="200 "><input type="text" name="data_ur" value="'.$wiersz['data_ur'].'" /></td></tr> <tr><td width="120"><b>płeć:</b> </td><td width="200"><input t ype="text" name="plec" value="'.$wiersz['plec'].'" /></td></tr> <tr><td width="120"><b>wiek:</b> </td><td width="200"><input t ype="text" name="wiek" value="'.$wiersz['wiek'].'" /></td></tr> <tr><td width="120"><b>miasto_id:</b> </td><td width="200"><in put type="text" name="miasto_id" value="'.$wiersz['miasto_id'].'" /></td></tr> <tr><td width="120"><b>kierunek_id:</b> </td><td width="200">< input type="text" name="kierunek_id" value="'. $wiersz['kierunek_id'].'" /></td></tr> <tr><td></td><td><input type="submit" name="wyslij" value="zmi eń dane" /></td></tr>
</form> '; die(); $zapytanie="select * FROM studenci"; <table border="1" width="100%"> <tr> <td><b>id</b> </td> <td width="110"><b>imię:</b> </td> <td width="110"><b>imię drugie:</b> </td> <td width="130"><b>nazwisko:</b> </td> <td><b>data urodzenia:</b> </td> <td><b>płeć:</b> </td> <td><b>edytuj:</b></td> </tr> while ($line = mysql_fetch_array($wynik)) echo "<tr> <td align=\"center\">".$line['id']."</td> <td align=\"left\">".$line['imie']."</td> <td align=\"left\">". $line['imie_drugie']."</td> <td align=\"left\">".$line['nazwisko']."</td> <td align=\"center\">".$line['data_ur']."</td> <td align=\"center\">".$line['plec']."</td> <td align=\"center\"><a href=\"index.php? id=4&student=".$line['id']."\">edytuj</a></td> </tr>"; editaction.php <h2>edytuj studenta</h2> mysql_select_db("login") or die('nie można wybrać bazy danych: '. if(isset($_post['wyslij']))
$zapytanie = "UPDATE studenci SET imie = '".$_POST["imie"]."', imie_drugie = '".$_POST["imie_drugie"]."', nazwisko = '".$_POST["nazwisko"]."', data_ur = '".$_POST["data_ur"]."', plec = '".$_POST["plec"]."', wiek = ".$_POST["wiek"].", miasto_id = ".$_POST["miasto_id"].", kierunek_id = ".$_POST["kierunek_id"]." WHERE id=".$_post["id"].""; echo "<pre>$zapytanie</pre>"; if($wynik) echo "<b>dane zostały zapisane.</b><br>"; else echo "<b>dane nie zostały zapisane.</b><br>"; Zadanie 2. 1. Dopisać pliki odpowiadające za dodawanie nowych nazw miast i kierunków studiów (analogicznie jak dodawanie studentów) i dołączyć do strony. 2. Dopisać pliki odpowiadające za wyświetlanie nazw miast i kierunków studiów (analogicznie jak wyświetlanie studentów) i dołączyć do strony. 3. Dopisać pliki odpowiadające za edycję nazw miast i kierunków studiów (analogicznie jak edycję studentów) i dołączyć do strony. 6. Przeszukiwanie bazy z poziomu PHP $link = mysql_connect("localhost", "login", "haslo") or die ("Nie można połączyć sięz bazą"); mysql_select_db("login") or die('nie można wybraćbazy danych: '.
<h2>szukaj</h2> <form action="index.php?id=6" method="post"> <table border="1" width="300"> <tr><td><b>nazwisko:</b></td><td><input name="sz_nazwisko" /></td> </tr> <tr><td><b>płeć:</b></td><td><input name="sz_plec" /></td></tr> <tr><td><b>kierunek:</b></td><td><input name="sz_kierunek" /></td> </tr> <tr><td></td><td><input type="submit" value="szukaj" name="szukaj" /></td></tr> </form> <br><br> if(isset($_post["szukaj"])) $zapytanie="select s.*,m.nazwa as mnazwa, k.nazwa as knazwa FROM studenci s, miasto m, kierunek k "; $where = "WHERE s.miasto_id=m.id and s.kierunek_id=k.id"; if(!empty($_post["sz_nazwisko"])) $where.= " and s.nazwisko LIKE '%". $_POST["sz_nazwisko"]."%'"; if(!empty($_post["sz_plec"])) $where.= " and s.plec ='".$_POST["sz_plec"]."'"; if(!empty($_post["sz_kierunek"])) $where.= " and k.nazwa LIKE '%". $_POST["sz_kierunek"]."%'"; $zapytanie.=$where; echo "<pre>".$zapytanie."</pre>"; echo '<p><b>oto lista szukanych studentów:</b></p>'; echo ' <table border="1" class="danestudentow" width="100%"> <tr> <td><b>id</b></td> <td width="70"><b>imię:</b> </td> <td width="70"><b>imię drugie:</b> </td>
<td width="90"><b>nazwisko:</b> </td> <td width="80"><b>data urodzenia:</b> </td> <td width="30"><b>płeć:</b> </td> <td width="40"><b>wiek:</b> </td> <td><b>miasto:</b> </td> <td><b>kierunek:</b> </td></tr>'; while ($line = mysql_fetch_array($wynik)) echo "<tr> <td align=\"center\">".$line['id']."</td> <td align=\"left\">".$line['imie']."</td> <td align=\"left\">". $line['imie_drugie']."</td> <td align=\"left\">".$line['nazwisko']."</td> <td align=\"center\">".$line['data_ur']."</td> <td align=\"center\">".$line['plec']."</td> <td align=\"center\">".$line['wiek']."</td> <td align=\"center\">".$line['mnazwa']."</td> <td align=\"center\">".$line['knazwa']."</td> </tr>"; echo ''; Zadanie 3. Poprawić wyszukiwarkę tak, aby można było wyszukiwać po wszystkich polach.