Условный запрос с использованием данных формы в качестве входных данных - PullRequest
1 голос
/ 25 марта 2011

Я пытаюсь выполнить запрос, используя 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>

Если все поля формы заполнены, я могу легко это сделать (на странице search.php)

extract($_POST);
$query = array("firm" => $firm, "city" => $city, "state" => $state);
$fields = array("firm");
$cur = $collection->find($query,$fields);

Но что, если одно или несколько полейпусто?Есть ли простой способ построить запрос так, чтобы включались только непустые поля?

Спасибо,

mcdermott

1 Ответ

0 голосов
/ 25 марта 2011

А как же:

$query = array();

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

Таким образом, вам просто нужно убедиться, что имена полей формы совпадают с именами полей вашего источника данных. Конечно, вы можете выполнить проверку перед циклом над уже проверенным массивом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...