我需要一个包含2个动态值的查询

时间:2017-05-31 06:39:25

标签: php mysql arrays

我有一个数组,我可以从数据库表中获取id,现在我需要在运行域链接数组时提取这些值,例如:domain.com/page?id = 1

现在这个页面将带来一个类别,让我们说一个ID为1的类别我需要在同一个数据库表示例产品上列出此类别下的项目,我可以使用它而不需要过滤器现在我需要使用数组的过滤器,这里是我的代码,提前谢谢你。

$query ="SELECT * FROM tablename WHERE id = '".$id."' DESC";

在此之前,我有我的PHP代码:

$id = $_GET["id"];

所以当我从这张桌子打来的电话全部出来时,我需要过滤类别1(示例)中的项目,而不是所有类别为2,3,4等的项目。

使用我的代码,我可以获取项目ID,因为链接与数组工作正常,例如:domain.com/page.php?id = 1,但这里是catch,我得到项目ID 1,我需要让&# 39; s说类别id 2,如果我运行id = 2的相同链接我得到项目ID 2并且那不是我想要的。

我需要将这些值检索为数组,任何想法?提前谢谢!

EDITED

表结构示例:

产品 ID,名称,类别

我需要将Items中的Category作为这样的过滤器:domain.com/?id=2&category=2

所以我只获得了行类别下的所有项目

2 个答案:

答案 0 :(得分:3)

将您的URI更新为此domain.com/page.php?id=1&category=2

$category = $_GET["category"];
$query ="SELECT * FROM tablename WHERE id = '".$id."' AND `Category` = '".$category."'";

答案 1 :(得分:2)

可选地传递查询字符串参数

domain.com/page.php?id=1&category=2

像这样

动态添加where子句
$query ="";
$conact =" where 1=1 ";
if(isset($_GET['id']))
{

   $conact.=" and id=".$_GET['id'];
}

if(isset($_GET['category']))
{

   $conact.=" and category=".$_GET['category'];
}

$query ="SELECT * FROM tablename $conact  DESC";