Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]checbox checked propblem
Forum PHP.pl > Forum > Przedszkole
-maraska-
Witam i proszę o pomoc.

Pobieram z bazy wartość 1 albo 0 i jak jest 1 to ustawiam w formularzu checkbox="checked", ale pole czekboksa pozostaje zaznaczone w każdym wypadku, czyli nawet jeżeli wynik zapytania do bazy = 0.

Kod:
  1. <input type="checkbox" name="strona_all" id="strona_allCheckBox" checked="<?php $ch=$sql['strA']; if ($ch==0){} else {echo "checked";}?>" style="float:left; position:relative;" />


echo $ch; daje wynik "0" checkbox jest jednak zaznaczony (checked)

Co robię źle?
kartin
Pewnie jednak nie jest 0? Aby się upewnić przed checkboksem daj:
  1. var_dump($sql['strA']);
W kodzie HTML pojawia się checked="checked"?

  1. <?php $ch=$sql['strA']; if ($ch==0){} else {echo "checked";}?>
W jakim celu dajesz $ch==0 skoro nić nie masz bezpośrednio po if a masz else?
Aby nie komplikować sprawy zrób:
  1. <?php if ($sql['strA']!=0){echo 'checked';}?>
Gość
Dzięki za tak szybką odpowiedź.

Ale napisałem "echo $ch; daje wynik "0"" a checkbox pozostaje zaznaczony
kartin
checked="" też powoduje zaznaczenie pola. Całe checked="checked" trzeba wrzucić do if.
in5ane
Bo ogólnie zamiast dawać checked="checked" powinno dawać się samo checked.
nospor
@in5ane chyba ze sie uzywa XHTML to wypadaloby wowcza trzymac się konwencji XML
-maraska-
OK. Dzięki za pomoc. Działający poprawnie kod wygląda tak:
  1. <input type="checkbox" name="strona_all" id="strona_allCheckBox" <?php $ch=$sql['strA']; if ($sql['strA']!=0){echo "checked='checked'";}?>"
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.