取消选中复选框时,我想显示数据库中的所有数据

时间:2019-04-01 23:47:06

标签: php wordpress

我要使用复选框进行搜索。当选中复选框时,此功能有效,但未选中时,不显示任何内容。我想在未选中此复选框时显示数据库中的所有数据

DECLARE @s varchar(max)
SET @s = 'INSERT INTO dbo.Table_1 EXEC ( ''' + replace(@mySQL, '''', '''''') + ''' ) AT Linked_Server_1'
EXEC( @s )

数据库中有一个名为“公民身份”的列,其列值为ENUM值“ Single”,“ Married”。

有2个已婚和单身复选框。当我选择已婚复选框时,仅显示已婚人员列表。当我选择一个人时,将显示一个人的唯一列表。同时选择两者时,将显示两个结果。但是,当两个选项都未选中时,我想向所有已婚和单身人士显示。

2 个答案:

答案 0 :(得分:0)

您可能想使用一种方法来构建带有和不带有各种选项的sql。最简单的方法是将数组与implode()一起使用:

$opts = [];

if(isset($_REQUEST['single']))
    $opts[] = "civil_status = 'Single'";

if(isset($_REQUEST['married']))
    $opts[] = "civil_status = 'Married'";

$sql = "SELECT * FROM {$users_table}";

if(!empty($opts))
    $sql .= " WHERE (".implode(" OR ", $opts).")";

如果您没有选择任何内容,那么它将写:

SELECT * FROM {$users_table}

如果选择了一件事,它会写:

SELECT * FROM {$users_table} WHERE (civil_status = 'Married')

如果两者都选中:

SELECT * FROM {$users_table} WHERE (civil_status = 'Married' OR civil_status = 'Single')

答案 1 :(得分:0)

You need to attach your query on form submit :

$query = "SELECT * FROM `table_name'";

if(isset($_POST['single']))
    $query .= "where 'relationship_status' = 'S' or";
if(isset($_POST['married']))
    $query .= "where 'relationship_status' = 'M'";

如果还有更多条件,您可以附加上面的条件。

Manage the or and and accordingly according as per your requirement.