![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 13.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich,
Mam taki problem: Mam już gotową stronkę będącą namiastką internetowej bazy studentów. Mając już prawie wszystko gotowe trafiłem na problem nie do przeskoczenia: otoz chce, aby można było usuwać całe rekordy za pomocą checkbox'ów, Na internecie znalazłem sporo porad na ten temat, niestety nic mi nie dzała. Zamieszczam kod i bardzo proszę o pomoc, z góry piękne dzięki. CODE <html>
<head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Internetowa baza studentow</title> </head> <body bgcolor="#FFC0A0"> <?php try { $dbh = new PDO('sqlite:./student.db'); } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } echo '<h2>Lista studentow:</h2>'; echo '<table border="1" bordercolor="black" bgcolor="#FFFFD0"> <tr> <td><b><center>ID</center></b></td> <td><b><center>Imie</center></b></td> <td><b><center>Nazwisko</center></b></td> <td><b><center>Numer albumu</center></b></td> <td><b><center>Zdjecie</center></b></td> <td><b><center>Usun</center></b></td> <td><b><center>Oceny</center></b></td> </tr>'; foreach($dbh->query('SELECT id, imie, nazwisko, nr_albumu, zdjecie FROM student ORDER BY id') as $row) { echo '<tr> <td>'.$row["id"].'</td> <td>'.$row["imie"].'</td> <td>'.$row["nazwisko"].'</td> <td>'.$row["nr_albumu"].'</td> <td><center><img src="'.$row["zdjecie"].'" width="50" height="50"></center></td>'; // Poczatek problemu echo '<td><center><form action="" method="post"><input type="checkbox" name="check[]" value="'.$row['id'].'"></form></center></td>'; // Koniec problemu echo '<td><center><form action="oceny.php?id='.$row['id'].'" method="post"><input type="submit" value="Pokaz oceny"></form></center></td> </tr>'; } echo '</table><br/>'; echo '<form action="" method="post"><input type="submit" value="Usun zaznaczonych" name="usunz"></form><br/>'; if(isset($_POST["usunz"])) { // Poczatek problemu while($_POST["check"]) { $dbh->exec('DELETE FROM student WHERE id = '.$_POST['check']); } // Koniec problemu } echo '<form action="dodaj.php"><input type="submit" value="Dodaj nowego studenta"></form>'; echo '<form action="sprawdz.php"><input type="submit" value="Sprawdz login i haslo"></form>'; ?> </body> </html>
Powód edycji: [Spawnm]: przenoszę
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
Formularzy nie można zagnieżdżać.
Zrób jeden formularz a zamiast pozostałych formularzy zrób buttony lub submity, zależnie od klikniętego buttonu, submitu usuwasz albo pokazujesz oceny lub przekierowujesz poprzez header("Location: dodaj.php"); exit; itd. Buttony, submity muszą być w formularzu. Dla testów przyda się funkcja print_r($_POST); będziesz widział co jest przekazywane do $_POST Oddzielaj html od php. Sprawdzanie danych z $_POST oraz operacje na tej tablicy rób na początku, potem dopiero wyświetlaj html, w przeciwnym razie efekt będzie dopiero po odświeżeniu strony. Zamiast while() użyj foreach() Używaj style CSS. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:13 |