Współpraca PHP z MySql

Transkrypt

Współpraca PHP z MySql
Współpraca PHP z MySql
1. Wyświetlanie danych z bazy:
show.php
<?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: ' .
mysql_error());
if($link) echo "Połączono z bazą<br>";
$zapytanie="select * FROM studenci";
$wynik = mysql_query($zapytanie);
?>
<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>
<?PHP
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>";
}
?>
</table>
2. Usuwanie danych z tabeli
<?PHP
$link = mysql_connect("localhost", "login", "haslo") or die ("Nie
można połączyć się z bazą");
mysql_select_db("baza") or die('Nie można wybrać bazy danych: ' .
mysql_error());
?>
<?PHP
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>";
}
}
?>
<?PHP
$zapytanie="select * FROM studenci";
$wynik = mysql_query($zapytanie);
?>
<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>
<?PHP
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>";
}
?>
</table>
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>
</table>
</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>
</table>
<?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: ' .
mysql_error());
if($link) echo "Połączono z bazą";
?>
<?PHP
$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>";
$wynik = mysql_query($zapytanie);
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>
<?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: ' .
mysql_error());
?>
<?PHP
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>
</table>
</form>
';
die();
}
?>
<?PHP
$zapytanie="select * FROM studenci";
$wynik = mysql_query($zapytanie);
?>
<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>
<?PHP
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>";
}
?>
</table>
editaction.php
<h2>Edytuj studenta</h2>
<?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: ' .
mysql_error());
?>
<?PHP
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>";
$wynik = mysql_query($zapytanie);
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
<?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: ' . mysql_error());
?>
<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>
</table>
</form>
<br><br>
<?PHP
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;
$wynik = mysql_query($zapytanie);
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 '</table>';
}
?>
Zadanie 3.
Poprawić wyszukiwarkę tak, aby można było wyszukiwać po wszystkich polach.

Podobne dokumenty