我在php和mysql中有一个控制面板,在页面加载时显示。我在该页面上有一个复选框(默认关闭,不存储在数据库中或绑定到除显示旧项目之外的任何其他内容),当我单击它时,我希望查询刷新数据并应用新的过滤器。基本上在加载时它只显示活动项目,当他们选中复选框时我希望页面重新加载显示过时的项目。
我的代码是:
<form action="" method="POST">
<input type="checkbox" name="filter" value="true">
</form>
<?PHP
$showold = (isset($_REQUEST['filter']));
if ($showold === 'checked' )
{
$showold = "WHERE `MyTable` = '0'";
}
else
{
$showold = "WHERE `MyTable` = '1'";
}
$query_NowPouring = "SELECT * FROM MyTable $showold";
$result = mysqli_query($mysqli, $query_NowPouring);
if($result){
while($row = mysqli_fetch_array($result)){
#set variables here and display the info in table here.
}
}
?>
答案 0 :(得分:0)
您的代码(isset($ _ REQUEST ['filter']));返回布尔值,如0或1而不是字符串,并且您将其与字符串匹配为if($ showold ==='checked')。
问题是你无法将boolean与string进行比较。