Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP][MySQL]Zapis z checkboxa do bazy mysql
pspgor
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 27.02.2011

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


Witam. Poradziłem sobie już z skryptem, który pobiera dane z bazy i jeśli to jest '1' to odpowiednio checkbox jest zaznaczony jako checked i na odwrót. Nie wiem natomiast jak zapisać do bazy:
Gdy checkbox ma wartość checked to '1' a jeśli nie to '0'.

Kawałek mojego kodu :

  1. $rok=trim(htmlspecialchars(strip_tags(addslashes($_POST['rok']))));
  2. $godzina=trim(htmlspecialchars(strip_tags(addslashes($_POST['godzina']))));
  3. $rok=$_POST['rok'];
  4. $godzina=$_POST['godzina'];
  5. if ($tytul == "" || $opis == "")
  6. echo "Puste pola.";#show the error
  7. }#close if statement
  8. else {#if everything is cool
  9. $wyniksh = "SET CHARACTER SET utf8"; //
  10. $wynikaww= mysql_query($wyniksh);
  11. $wynikshl="SET NAMES utf8";
  12. $wynikaww= mysql_query($wynikshl);
  13. $wyniksh = $sql=mysql_query("UPDATE `towar` SET `tytul`='$tytul', `obrazek1`='$obrazek1', `rok`='$rok', `godzina`='$godzina', `aktywny`='$aktywny' WHERE `id` = '$id'") or die(mysql_error());
  14. echo "Aktualizacja zakończona. <a href='edit.php'>Powrót</a>";
  15. }
  16. }
  17. elseif (isset($_GET['edit']))
  18. $id=$_GET['edit'];
  19. $wyniksh = "SET CHARACTER SET utf8"; //
  20. $wynikaww= mysql_query($wyniksh);
  21. $wynikshl="SET NAMES utf8";
  22. $wynikaww= mysql_query($wynikshl);
  23. $wyniksh = $row=mysql_fetch_assoc(mysql_query("SELECT * FROM `towar` WHERE id = '$id' LIMIT 1"));#get the post you want to edit
  24. $checked = '';
  25. if($row['aktywny'] == 1)
  26. {
  27. $checked = 'checked="checked"';
  28. }
  29. else {
  30. $checked= '';
  31. }
  32. echo ('<form name="form1" method="post" action="edit.php?editsend=true" enctype="multipart/form-data">
  33. ...
  34. Godzina <input name="godzina" type="text" id="godzina" size="2" maxlength="2" value="'.$row['godzina'].'" /><br>
  35. Aktywny? <input type="checkbox" name="aktywny" value="'.$row['aktywny'].'"'.$checked.' /><br>
  36. <input type="hidden" name="id" value="'.$row['id'].'" />
  37. <input type="submit" name="Submit" value="Wyślij">
  38. </form>
  39. ');


Ten post edytował pspgor 7.01.2012, 14:03:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Niezaznaczony checkbox nie zostanie przesłany, zatem:
  1. if(!isset($_POST['aktywny'])) $aktywny = 0;

i zmienną $aktywny wstawiamy do zapytania.

EDIT:
Zapis, który załatwia nam zarówno kwestię 1 jak i 0:
  1. $aktywny = isset($_POST['aktywny']) ? $_POST['aktywny'] : 0;


Ten post edytował mortus 7.01.2012, 14:19:33
Go to the top of the page
+Quote Post
pspgor
post
Post #3





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 27.02.2011

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


jak ma zapisać '0' to zapisuje lecz '1' nie smile.gif (przy tym drugim)
Przy pierwszym dałem
  1. if(!isset($_POST['aktywny'])) {$aktywny = 0;} else {$aktywny = 1;}
i działa smile.gif


Ten post edytował pspgor 7.01.2012, 15:00:00
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 Aktualny czas: 20.08.2025 - 11:18