使用$ _GET按多列过滤

时间:2018-02-07 17:49:14

标签: php html mysql

在可以添加新闻的网站上工作,将数据发送到数据库,然后转换为应用程序中使用的json。

我在使用网址过滤新闻时遇到问题。我希望能够通过2个数据库列(类型和区域)过滤新闻。当我添加新闻时,我需要指定哪种类型[只能选择1]新闻,以及在哪个区域[可以选择多个]它会进入。现在,当我在应用程序中时,假设我只想看到“X”区域的“紧急”新闻。为此,我会选中“紧急”类型复选框和“X”区域复选框。

使用我当前的代码,我可以完美地按类型过滤新闻,但我无法添加额外的过滤器,只显示X区域新闻。

<?php

function turnIntoUTF8($arrayName) {
if (is_array($arrayName)) {
    foreach ($arrayName as $k => $v) {
        $arrayName[$k] = turnIntoUTF8($v);
    }
} else if (is_string ($arrayName)) {
    return utf8_encode($arrayName);
}
    return $arrayName;
}

$tag = $_GET["tag"];//Tag = type
//Tried adding a new GET here.

$sql = "SELECT * FROM news WHERE
FIND_IN_SET(`tag`, '$tag')//Tried to do another FIND_IN_SET here with &&.
ORDER BY id DESC";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));
$emparray = array();
while($row =mysqli_fetch_assoc($result))
{
    $emparray[] = $row;
}
echo json_encode(turnIntoUTF8($emparray));
mysqli_close($connection);
?>

The 2 columns:

目前我可以使用此网址:http://localhost/vvuudised/getNewsJson.php?tag=uudis,teade仅显示其类型设置为“uudis”或“teade”的新闻。结果如下:enter image description here

现在,如果我想,我会过滤新闻,只显示让我们用网址说“rohuneeme”地区新闻。我怎样才能做到这一点。谢谢,抱歉这个错误的解释。

0 个答案:

没有答案