Witam!
Chciałbym, mieć możliwośc usuwania kilku rekordów "za jednym zamachem" przy pomocy pól checkbox. Ogónie strona składa się z dwóch części:
1. usuwanie pojedynczego rekorku
2. usuwanie kilku rekordów
Pierwsza część działa dobrze, natomiast z drugą mam problem. Najpierw użytkownik wyszukuje rekordy (wybiera kierunek i semestr -> wyszukiwany jest numer grupy -> nr grupy zapisywany jest do tablicy -> pobrany z tablicy nr grupy jest wykorzystywany do wyszukiwania rekordów), wyświetla się tableka z wynikiem szukania, gdzie przy każdym rekordzie jest checkbox. Użytkownik zaznacza wybrane, klika "Usuń wszystkie" i ... nie działa
<?php
require ("check.php");
or
die ("Nie można połączyć z serwerem baz danych");or
die ("Nie można wybrać wymaganej bazy danych");
echo '1. Proszę podać imię i nazwisko studenta: </br>
<form action = "usun.php" method = "post">
<table>
<tr>
<td>Imię:</td>
<td><input type = "text" name = "imie"></td>
</tr>
<tr>
<td>Nazwisko:</td>
<td><input type = "text" name = "nazwisko"></td>
</tr>
</table>
</br>
<input type = "submit" value = "Skreśl z listy studentów">
<input type = "reset" value = "Wyczyść forumlarz">
</form>';
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];
$usun = mysql_query ("DELETE FROM osoba WHERE (imie = '$imie' and nazwisko = '$nazwisko')") or
die ("Bład przy usuwaniu rekordu");
echo ' 2. Znajdź studenta:';
echo '<form action = "usun.php" method = "post">';
or
die ("Bład przy pobieraniu kierunków");echo 'Kierunek: <select name = "kierunek">'; {
echo '<option value = " '.$row['nazwa'].' "> '.$row['nazwa'].' </option>'; }
or
die ("Błąd przy pobieraniu semestrów");echo ' Semestr: <select name = "semestr">'; {
echo '<option value = " '.$row1['ktory'].' "> '.$row1['ktory'].' </option>'; }
$kierunek = $_POST['kierunek'];
$semestr = $_POST['semestr'];
</br>
<input type = "submit" value = "Znajdź">
</form>';
echo '<form action = "usun.php" method = "post">'; $grupa = mysql_query ("SELECT grupa_id FROM grupa where (kierunek = '$kierunek' and semestr = '$semestr')") or
die ("Nie można pobrać ID grupy");or
die ("Nie można zapisać wyniku w tabeli lub nie znaleziono żadnych studentów");$znajdz = mysql_query ("SELECT * FROM osoba where (grupa_id = ".$tabela['grupa_id'].")") or
die ("Nie można znaleźć studentów o podanym ID grupy");echo '<table cellpadding = \"11\" border = 3>'; <td>ID</td>
<td>Grupa ID</td>
<td>Imię</td>
<td>Nazwisko</td>
<td>Usuń</td>
</tr>';
{
echo '<td>'.$row[0].'</td>'; echo '<td>'.$row[1].'</td>'; echo '<td>'.$row[2].'</td>'; echo '<td>'.$row[3].'</td>'; echo '<td> <input type = "checkbox" name = "delete['.$row['0'].']" value = "on"></td>'; }
echo '<input type = "submit" name = "usun" value = "Usuń zaznaczone">';
if ($_POST['usun'] == 'Usuń zaznaczone' and
isset($_POST['delete']) and
is_array($_POST['delete'])) {
foreach ($_POST['delete'] as $key=>$value)
{
$q = "DELETE FROM osoba WHERE id = '{$key}';";
}
}
?>
Gdzie popełniam błąd?
Pozdrawiam...
P.S.
Dlaczego przy pierwszym wejściu na stronę dostaję błąd "Nie można zapisać wyniku w tabeli lub nie znaleziono żadnych studentów"?
Taki sam błąd otrzymuję, gdy chcę usunąć kilka rekordów...