【发布时间】:2012-03-12 19:29:42
【问题描述】:
$catIDs 是一系列值,显示如下:11,12,13,14, ...
在我的 sql 请求中我输入:WHERE c.IsActive = 1 AND c.PkID = '" . $catIDs . "'
但它不接受多个参数
使用以下代码,它只显示最后一个值(不是全部)
我尝试使用爆炸来消除“,”并使用简单的 for 使用数组
$result = doQuery("SELECT DISTINCT c.PkID, c.CategoryName
FROM " . HC_TblPrefix . "categories c
WHERE c.IsActive = 1 AND c.PkID = '" . $catIDs . "'
ORDER BY c.CategoryName");
$donnee=explode(",",$catIDs);
for($i=0;$i<sizeof($donnee);$i++)
{
$resultCat = doQuery("SELECT c.PkID, c.CategoryName
FROM " . HC_TblPrefix . "categories c
WHERE c.IsActive = 1 AND c.PkID = '" . $donnee[$i] . "'
ORDER BY c.CategoryName");
}
if(!hasRows($resultCat))
return 0;
echo '
<ul>';
while($row = mysql_fetch_row($resultCat)){
echo '
<li><a itemprop="eventType" href="'/index.php?com=searchresult&t='.$row[0].'" rel="nofollow">'.cOut($row[1]).'</a></li>';
}
echo '
</ul>';
【问题讨论】:
-
在 MySQL 中,可以使用 IN。 xxx IN (a, b, c,...)
-
多个请求在哪里...???
-
$catIDs 的来源是什么?它来自请求吗?