我整天都试图解决这个问题,但仍然没有运气。
场景是:我正在开发一个垂直菜单,它应该分别在菜单中查询这些组的组和项目,但是正在填充组而没有它的项目。
代码是按以下方式编写的:
$data1 = mysql_query(select groupnames from groups where categoryy='Agriculture');
while($info1=mysql_fetch_array($data1))
{
echo $info1[0];
$data2==mysql_query(select itms from groupitems where categoryy='Agriculture' and groupname='$info1[0]');
while($info2=mysql_fetch_array($data2))
{
echo $info2[0];
}
}
在上面的代码中,正在很好地填充组,但是没有填充groupitems表中的项目。如果我写Grain
(Grain
是我数据库中的农业组之一)而不是groupname=$info1[0]
那么它就可以了。但它应该从查询中动态获取。
请帮忙,我遇到麻烦了。
最后解决了!这是代码:
<?php
include "aPannel/dbconn.php";
$query="select GroupName from categorygroup where categoryy='Agriculture'";
$i=0;
$result=mysql_query($query);
$num=mysql_num_rows($result);
$groupname=mysql_result($result ,$i ,"GroupName");
mysql_close();
if ($num=="0") echo "<p>Sorry, there are no groups to display for this Category.</p>";
else
{
echo "<p>There are currently <strong>$num</strong> groups represented in our database.</p><br>";
while($i < $num)
{
$groupname=mysql_result($result ,$i ,"GroupName");
include("aPannel/dbconn.php");
$query2 = "SELECT subcategory FROM groupsubcategory WHERE groupname='$groupname'"; // count number of items in each group
echo $query2 . "<br/>";
$resultt=mysql_query($query2);
$countt=mysql_num_rows($resultt);
mysql_close();
echo $countt . "subcategories" . "<br/>"; // display number of items
$i++;
}
} // end if results
?>
答案 0 :(得分:0)
您的查询不是double-quotes (" ")
。永远记住你传递给mysql_query
方法的是一个字符串参数。而$data2==....
似乎也错了。
所以,改变这样的代码
$data1=mysql_query("select groupnames from groups where categoryy='Agriculture'");
while($info1=mysql_fetch_array($data1))
{
echo $info1[0];
$infoTemp=$info1[0];
$data2=mysql_query("select itms from groupitems where categoryy='Agriculture'
and groupname='$infoTemp'");
while($info2=mysql_fetch_array($data2))
{
echo $info2[0];
}
}
我希望它能够发挥作用
编辑:您还确定第二个查询中的列itms
还是items
?
编辑:添加了临时变量