Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MySQL] Usuwanie wybranych tabel polem checkbox
bencki90
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 9.03.2010

Ostrzeżenie: (0%)
-----


Witam. Chcę stworzyć stronę na której po zalogowaniu mamy możliwość między innymi usunięcia tabel znajdujących się na serwerze MySQL.
Po wybraniu odpowiedniej podstrony ma się wyświetlać lista tabel istniejących na serwerze oraz przy nazwie każdej tabelipole typu checkbox. Niestety nie wiem w jaki sposób sprawdzić czy dane pole checkbox zostało zaznaczone a co za tym idzie jak powinien wyglądać skrypt usuwania wybranych tabel.

Jak dotąd napisałem tyle i utknąłem.

  1. <table border="3">
  2. <tr><td><b>
  3. Lista tabel</b></td>
  4. <td></td></tr><form action='funkcjadel.html' method='post'>
  5.  
  6.  
  7. <?
  8.  
  9. $host="host";
  10. $db_user="użytkownik_bazy";
  11. $db_password="haslo";
  12. $database="nazwa_bazy";
  13. mysql_connect($host,$db_user,$db_password);
  14. mysql_select_db($database);
  15.  
  16. $id=mysql_query("show tables");
  17. $ilosc=mysql_num_rows($id);
  18.  
  19. $lista=mysql_list_tables($database);
  20. for($i=0; $i<$ilosc; $i++)
  21. {
  22.  
  23. $nazwa=mysql_tablename($lista, $i);
  24.  
  25. if ($nazwa=='logowanie' || $nazwa=='temp')
  26. {
  27. print "<tr><td>$nazwa</td><td><input type='checkbox'disabled name=$nazwa></td></tr>";
  28. }
  29. else
  30. {
  31. print "<tr><td>$nazwa</td><td><input type='checkbox' name=$nazwa></td></tr>";
  32. }
  33. }
  34.  
  35. print "</table>";
  36. print "<br><input type='submit' value='Usun'></form>"
  37.  
  38. ?>


Patrzałem na inne tematy, zazwyczaj dotyczące usuwania wierszy w tabeli, i jakoś nie mogę tego pojąć. Byłbym wdzięczny gdyby ktoś mógł mi to wytłumaczyć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kojak
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 5
Dołączył: 11.09.2007
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Tak jak kolega wyżej napisał zobacz sobie składnię pętli foreach. Jak nie wiesz jak wygląda tablica $_POST po przekazaniu z formularza to wyświetl sobie ją (pokazałem jak w poniższym kodzie - później to usuń).

  1. if (isset($_POST['usun'])) // jeżeli ustawione jest pole 'usun' (czyli kliknięto przycisk USUŃ) to wykonaj poniższy blok instrukcji
  2. {
  3. echo "<pre>"; print_r($_POST); echo "</pre>"; // wyświetlenie zawartości tablicy $_POST
  4. foreach($_POST as $tabela => $val) // teraz przechodzimy po każdym elemencie tabeli $_POST, gdzie klucz to nazwa tabeli ($tabela) a wartość ($val) to 'on' (czyli włączony checkbox)
  5. {
  6. if ($tabela == 'usun') continue; // jeśli wartość zmiennej $tabela to usuń to pomijamy ten obieg pętli bo w tabeli $_POST natrafiliśmy na przycisk usuń
  7. mysql_query("DROP TABLE $tabela"); //polecenie usunięcia tabeli
  8. }
  9. }


Ten post edytował Kojak 11.03.2010, 08:29:33
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 00:57