我提交并重新加载页面后,如何选中此复选框?如果用户检查过。
在$ checked变量中,我不需要in_array,但我不知道,我需要的是什么。
echo '<div class="sidebar_szuro_div">
<span class="sidebar_title"><i class="fa fa-caret-down" aria-hidden="true"></i> Akció</span>';
$gyartok = runsql_array("
SELECT gyarto_id, gyarto_nev FROM gyarto WHERE gyarto_id in (SELECT DISTINCT termek_gyarto FROM termek WHERE termek_id IN ( SELECT kat_kapcs_termek_id FROM `termek_katgoria_kapcsolo` WHERE kat_kapcs_kategoria_id='$kat_id' )) ORDER BY gyarto_nev ASC");
if(isset($_REQUEST["csak_akcios"]))
{
$default = $_REQUEST["csak_akcios"];
}
else
{
$default = array();
}
echo '<div class="filters_container">';
$termekdarab = runsql("SELECT COUNT(termek_id) AS counted FROM termek WHERE termek_status = 1 AND termek_akcio = 1
AND termek_id IN ( SELECT kat_kapcs_termek_id FROM `termek_katgoria_kapcsolo` WHERE kat_kapcs_kategoria_id='$kat_id' )
");
//$checked = in_array($gy["gyarto_id"] , $default)?' checked ':''; ????
echo '<div class="checkbox padding_left_10 filter_div"><label><input type="checkbox" name="csak_akcios" value="1">Csak az akciós termékek mutatása ('.$termekdarab["counted"].')'.'</label></div>';
echo '<div class="text-center"><button type="submit" name="filter_submit_btn" class="btn szures_btn">Mehet</button></div>';
echo '</div>';
echo '</div>';
答案 0 :(得分:1)
这样的事情: (如果您在表单中使用POST)
<label><input type="checkbox" name="myName" value="myValue" <?php if(isset($_POST['myName'])) echo "checked='checked'"; ?> > This is checkbox</label>
$_POST['myName']
绑定到name="myName"
。
答案 1 :(得分:1)
首先,删除以下else
块,如果未选中该复选框,请不要使$default
成为数组。
else
{
$default = array();
}
并替换以下两行
//$checked = in_array($gy["gyarto_id"] ...
echo '<div class="checkbox padding_left_10 ...
与
$checked = (isset($default) && $default == '1') ? 'checked="checked"' : '';
echo '<div class="checkbox padding_left_10 filter_div">
<label>
<input type="checkbox" name="csak_akcios" value="1" '.$checked.' />
Csak az akciós termékek mutatása ('.$termekdarab["counted"].')'.'
</label>
</div>';