Php 使用表单数据作为输入的条件查询

Php 使用表单数据作为输入的条件查询,php,mongodb,mongodb-php,Php,Mongodb,Mongodb Php,我正在尝试使用PHP和mongodb执行一个查询,使用表单的输入 <form method="post" action="search.php"> <tr><td>Firm</td><td><input type="text" name="firm" /></td></tr> <tr><td>City</td><td><input type="

我正在尝试使用PHP和mongodb执行一个查询,使用表单的输入

<form method="post" action="search.php">
 <tr><td>Firm</td><td><input type="text" name="firm" /></td></tr>
 <tr><td>City</td><td><input type="text" name="city" /></td></tr>
 <tr><td>State</td><td><input type="text" name="state" /></td></tr>
 <tr><td colspan="2" align="center"><input type="submit" value="Search" /></td></tr>
</form>
但是如果一个或多个字段是空的呢?是否有一种简单的方法来构造查询,以便只包含非空字段

谢谢

麦克德莫特怎么样

$query = array();

foreach ($_POST as $key => $value)
{
    if (isValid($value))
    {
        $query[$key] = $value;
    }
}

这样,您只需确保表单字段名与数据源的字段名相同。当然,您可以在循环已验证的阵列之前进行验证。

您对如何进行验证有何想法?到目前为止,您尝试了什么?对不起,我尝试使用if语句和array_push来追加查询字符串,但似乎不起作用。像这样,如果空$firm$query=array\u push$query,则firm=>$firm。我的引文可能是乱七八糟的。为什么PHP开发人员如此吵闹?@Will:他不是PHP开发人员,他是python开发人员;你接受了我的答案,但你没有投票,为什么?请注意,如果输入有效,你必须编写自己的验证函数isValid,返回TRUE,如果输入无效,返回FALSE。
$query = array();

foreach ($_POST as $key => $value)
{
    if (isValid($value))
    {
        $query[$key] = $value;
    }
}