Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP][MySQL]Zapis z checkboxa do bazy mysql
Forum PHP.pl > Forum > Przedszkole
pspgor
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. ');
mortus
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;
pspgor
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.