Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Formularz i checkbox
andrzejlechniak
post 17.12.2010, 18:33:13
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Mam prosty problem, jak za pomocą <input type="checkbox" /> można zmienić lub usunąć rekord (lub dwa, lub więcej na raz). Mam teraz tak, że za pomocą linku <a href=""> a chciałbym zmienić pole 'wyswietlenie'. Załóżmy, że jest ustawione domyślnie na '0' - tzn. wyświetlanie na stronie jest tylko gdy ma status '1'. Gdy ma '0' nie widać go. Lub jak usunąć za pomocą pola checkbox?

Tutaj mam mój dotychczasowy kod usuwania danych:
  1. if (isset ($_GET['id_wyd']))
  2. {
  3. $sql="DELETE FROM
  4. wiadomosci
  5. WHERE
  6. id={$_GET['id_wyd']};";
  7. mysql_query ($sql);
  8. }


Co powinienem tutaj zmienić? I czy jest możliwość masowego użycia pola 'checkbox' ?
Go to the top of the page
+Quote Post
CuteOne
post 17.12.2010, 18:59:37
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. <form method="post" action="index.php?action=delete">
  2. Usuń:<br>
  3. <input type="radio" name="delete" value="1">Jeden rekord <br>
  4. <input type="radio" name="delete" value="2">Dwa rekordy <br>
  5. <input type="radio" name="delete" value="3">Trzy rekordy <br>
  6.  
  7. <input type="submit" name="s" value="Usuń">


  1.  
  2. if(isset($_POST['s'])) {
  3.  
  4. $delete = !empty($_POST['delete']) && $_POST['delete'] > 0 && $_POST['delete'] < 4
  5. ? $_POST['delete']
  6. : 1;
  7.  
  8. //usunięcie z bazy to już prysz ;)

Go to the top of the page
+Quote Post
andrzejlechniak
post 17.12.2010, 21:56:06
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Średnio mi to pomogło, może wyjaśnię jeszcze raz o co mi biega. Mam taki wygląd w panelu administracyjnym:

id -- nazwa -- opis -- usuń | publikuj -- edytuj

i chodzi o to, aby te przyciski usuń | publikuj były jako akcja <input type="checkbox" /> i za pomocą tego mogły się dziać określone akcje, czyli np. jak zaznaczam w polu (checkbox) usuń i zaznaczam jako button 'usuń' aby te zaznaczone elementy prowadziły do konkretnej akcji. Jak mam łącze index.php?id=osoby&id_osoby (po kliknięciu na usuń po zaznaczeniu na polu typu checkbox), aby za pomocą łącza usuwały się dane.
Go to the top of the page
+Quote Post
CuteOne
post 18.12.2010, 17:54:43
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1.  
  2. while($row = mysql_fetch_array($query)) {
  3.  
  4. $write .= '<input type="checkbox" name="delete_'.$row['user_id'].'" value="1"> Usuń';
  5. }
  6.  
  7. // jak to wsadzić do formularza powinieneś wiedzieć więc przejde do odbierania danych z formularza
  8.  
  9. while($row = mysql_fetch_array($query)) {
  10.  
  11. if(!empty($_POST['delete_'.$row['user_id']])) { //usun dla tego użytkownika }
  12. }


Ten post edytował CuteOne 18.12.2010, 17:55:07
Go to the top of the page
+Quote Post
andrzejlechniak
post 19.12.2010, 17:35:55
Post #5





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Napisałem coś takiego:

Wyświetlanie danych z bazy:
  1. $wiad_tak = $_POST['wiadomosc'];
  2. $sql = 'SELECT * FROM referencje ORDER BY id';
  3. $result = mysql_query($sql);
  4. while($row = mysql_fetch_array($result))
  5. {
  6. extract($row);
  7. echo '<table class="admin_panel_dane">
  8. <tr>
  9. <td width="10%">'.$id.'</td>
  10. <td width="35%">'.$nazwa.'</td>
  11. <td width="40%">'.$opis;
  12.  
  13. if(isset($wiad_tak)) {
  14. echo 'tak';
  15. }
  16. else {
  17. echo 'nie';
  18. }
  19.  
  20. echo '</td>
  21. <td width="15%">
  22. <a href="admin.php?id=admin_kategorie_w&id_up='.$id.'" title="aktualizuj kategorię">Zmień </a>|
  23. <a href="admin.php?id=admin_kategorie_w&id_kat='.$id.'" OnClick="return confirm(\'Czy napewno chcesz skasować?\');" title="usuń kategorię"> Usuń</a>
  24. </td>
  25. </tr>
  26. </table>';
  27. }

jeśli 'tak' - to ma być pole po sprawdzeniu pola checkboxem.

A dodaję tak:

  1. <div class="log_form">
  2. Chcę dostawać wiadomość zwrotną:
  3. <input type="checkbox" name="wiadomosc" value="checked" />
  4. </div>


I teraz jest taki problem, że jak dodaję to mam wynik 'tak' ale gdy odświeżę stronę (znaczy jeszcze raz załaduję, ale bez ponownego przesyłania formularza to zawsze mam 'nie'). Czemu?

PS. Dodam tylko, że pole $wiad_tak ma TYLKO informować czy ma być wyświetlona wiadomość czy nie

Ten post edytował andrzejlechniak 19.12.2010, 17:39:04
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 19:30