Modyfikacja danych
No tak ale co zrobić gdy chcemy poprawić dane w bazie. Przykład. Nasz Kowalski zmienił numer telefonu lub miejsce zamieszkania. Nie musimy go kasować z bazy i dodawać ponownie, wtedy przecież zmienił by mu się jego id którym dotychczas się posługiwał. Trzeba rekord poprawić. Służy do tego komenda UPDATE. Poniżej przykładowy skrypt.
Sporo tego kodu, ale dla nas ważna w tym momencie jest jego końcówka w warunku elseif. Skrypt działa tak wyświetla rekordy z bazy. Umieszcza je w tabelce. Każdy rekord ma link do modyfikacji. Po kliknięciu na link wyświetla się formularz zawarty w warunki if. Do formularza wstawiane są dane pobrane z bazy. Po kliknieciu na przycisk modyfikuj modyfikujemy rekord. Część modyfikacyjna jest w warunku elseif. Do modyfikacji rekordu służy komenda UPDATE. Podajemy nowe wartości pól oraz rekord który ma zostać zmodyfikowany (WHERE id=$modyfikuj";).
<html>
<head>
<title>Kurs MySQL - Strona Mateusza Dutkiewicza</title>
</head>
<body>
<table border="1" width="98%" cellspacing="0" cellpadding="0" bordercolorlight="#000000">
<tr>
<td width="96%" colspan="7" bgcolor="#C0C0C0">
<p align="center"><b><font size="2">Dane osobowe</font></b></td>
</tr>
<tr>
<td width="4%" align="center" bgcolor="#E0E0E0">
<p align="center"><font size="2"> ID</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0">
<p align="center"><font size="2">Imię</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">Nazwisko</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">Data
urodzenia</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">Adres</font></td>
<td width="14%" align="center" bgcolor="#E0E0E0"><font size="2">Telefon</font></td>
<td width="6%" align="center" bgcolor="#E0E0E0"><font size="2">Modyfikuj</font></td>
</tr>
<?php
mysql_connect ("127.0.0.1","admin","haslo");
mysql_select_db (daneosobowe);
$zapytanie = "SELECT * FROM dane ORDER BY imie DESC";
$wykonaj = mysql_query ($zapytanie);
while($wiersz=mysql_fetch_array ($wykonaj)) {
echo " <tr>
<td width="4%">".$wiersz['id']."</td>
<td width="18%">".$wiersz['imie']."</td>
<td width="18%">".$wiersz['nazwisko']."</td>
<td width="18%">".$wiersz['dataur']."</td>
<td width="18%">".$wiersz['adres']."</td>
<td width="14%">".$wiersz['telefon']."</td>
<td width="6%"><b><a href="modyfikuj.php3?stan=modyf&idmodyf=".$wiersz['id']."">
Modyfikacja</a></b></td>
</tr>";
}
if($stan=='modyf') {
$zapytanie = "SELECT * FROM dane where id=$idmodyf";
$wykonaj = mysql_query ($zapytanie);
$tablica = mysql_fetch_array($wykonaj);
echo "<form method="get" action="modyfikuj.php3">
<div align="center">
<center>
<table border="1" width="50%" bordercolorlight="#000000" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><font size="2" face="Verdana">Imie</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="imie" value="".$tablica['imie']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Nazwisko</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="nazwisko" value="".$tablica['nazwisko']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Data urodzenia YYYY-MM-DD</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="dataur" value="".$tablica['dataur']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Adres</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="adres" value="".$tablica['adres']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Telefon</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="telefon" value="".$tablica['telefon']."" size="20"></font></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><font size="2" face="Verdana"><input type="hidden" name="modyfikuj" value="$idmodyf"><input type="submit" value="Modyfikuj" name="send"></font></td>
</tr>
</table>
</center>
</div>
</form>";
}
else if ($send=='Modyfikuj'){$zapytanie = "UPDATE dane SET imie='$imie', nazwisko='$nazwisko', dataur='$dataur', adres='$adres',telefon='$telefon' WHERE id=$modyfikuj";
$wykonaj = mysql_query ($zapytanie);
echo "<br>Dane poprawione<BR><a href="modyfikuj.php3">Obejrzyj poprawiona bazę</a>";}
else {
}
?>
</table>
</body>
</html>
<head>
<title>Kurs MySQL - Strona Mateusza Dutkiewicza</title>
</head>
<body>
<table border="1" width="98%" cellspacing="0" cellpadding="0" bordercolorlight="#000000">
<tr>
<td width="96%" colspan="7" bgcolor="#C0C0C0">
<p align="center"><b><font size="2">Dane osobowe</font></b></td>
</tr>
<tr>
<td width="4%" align="center" bgcolor="#E0E0E0">
<p align="center"><font size="2"> ID</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0">
<p align="center"><font size="2">Imię</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">Nazwisko</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">Data
urodzenia</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">Adres</font></td>
<td width="14%" align="center" bgcolor="#E0E0E0"><font size="2">Telefon</font></td>
<td width="6%" align="center" bgcolor="#E0E0E0"><font size="2">Modyfikuj</font></td>
</tr>
<?php
mysql_connect ("127.0.0.1","admin","haslo");
mysql_select_db (daneosobowe);
$zapytanie = "SELECT * FROM dane ORDER BY imie DESC";
$wykonaj = mysql_query ($zapytanie);
while($wiersz=mysql_fetch_array ($wykonaj)) {
echo " <tr>
<td width="4%">".$wiersz['id']."</td>
<td width="18%">".$wiersz['imie']."</td>
<td width="18%">".$wiersz['nazwisko']."</td>
<td width="18%">".$wiersz['dataur']."</td>
<td width="18%">".$wiersz['adres']."</td>
<td width="14%">".$wiersz['telefon']."</td>
<td width="6%"><b><a href="modyfikuj.php3?stan=modyf&idmodyf=".$wiersz['id']."">
Modyfikacja</a></b></td>
</tr>";
}
if($stan=='modyf') {
$zapytanie = "SELECT * FROM dane where id=$idmodyf";
$wykonaj = mysql_query ($zapytanie);
$tablica = mysql_fetch_array($wykonaj);
echo "<form method="get" action="modyfikuj.php3">
<div align="center">
<center>
<table border="1" width="50%" bordercolorlight="#000000" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><font size="2" face="Verdana">Imie</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="imie" value="".$tablica['imie']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Nazwisko</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="nazwisko" value="".$tablica['nazwisko']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Data urodzenia YYYY-MM-DD</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="dataur" value="".$tablica['dataur']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Adres</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="adres" value="".$tablica['adres']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Telefon</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="telefon" value="".$tablica['telefon']."" size="20"></font></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><font size="2" face="Verdana"><input type="hidden" name="modyfikuj" value="$idmodyf"><input type="submit" value="Modyfikuj" name="send"></font></td>
</tr>
</table>
</center>
</div>
</form>";
}
else if ($send=='Modyfikuj'){$zapytanie = "UPDATE dane SET imie='$imie', nazwisko='$nazwisko', dataur='$dataur', adres='$adres',telefon='$telefon' WHERE id=$modyfikuj";
$wykonaj = mysql_query ($zapytanie);
echo "<br>Dane poprawione<BR><a href="modyfikuj.php3">Obejrzyj poprawiona bazę</a>";}
else {
}
?>
</table>
</body>
</html>
Sporo tego kodu, ale dla nas ważna w tym momencie jest jego końcówka w warunku elseif. Skrypt działa tak wyświetla rekordy z bazy. Umieszcza je w tabelce. Każdy rekord ma link do modyfikacji. Po kliknięciu na link wyświetla się formularz zawarty w warunki if. Do formularza wstawiane są dane pobrane z bazy. Po kliknieciu na przycisk modyfikuj modyfikujemy rekord. Część modyfikacyjna jest w warunku elseif. Do modyfikacji rekordu służy komenda UPDATE. Podajemy nowe wartości pól oraz rekord który ma zostać zmodyfikowany (WHERE id=$modyfikuj";).
Autorem tekstu jest:
Mateusz Dutkiewicz
Materiał dodany przez użytkownika: alphan
