Php 在彼此内部使用多个mysql查询循环
我很难在彼此内部使用多个查询。我找了它,但找不到我需要的东西! 这就是我的问题。请帮帮我 我有一个名为“cat”的表,我通过mysql获得标题,这很好。我还有一个名为works的表,它有一个名为“Cat_ID”的字段,这个字段连接两个表的数据。works表还有一个名为“年”的字段,它是艺术品生产的年份 cat>{ID,标题,…} 作品>>{ID,标题,URL,年份,类别ID,} 我需要按年份对作品库进行分类,因此我编写了如下代码:Php 在彼此内部使用多个mysql查询循环,php,mysql,join,Php,Mysql,Join,我很难在彼此内部使用多个查询。我找了它,但找不到我需要的东西! 这就是我的问题。请帮帮我 我有一个名为“cat”的表,我通过mysql获得标题,这很好。我还有一个名为works的表,它有一个名为“Cat_ID”的字段,这个字段连接两个表的数据。works表还有一个名为“年”的字段,它是艺术品生产的年份 cat>{ID,标题,…} 作品>>{ID,标题,URL,年份,类别ID,} 我需要按年份对作品库进行分类,因此我编写了如下代码: <?php $result = q("cat"); whi
<?php
$result = q("cat");
while($row = mysqli_fetch_array($result)) { ?>
<div>
<h2><a href="artwork.php?id=<?php echo $row['ID'] ?>"> <?php echo $row['Title']; ?></a></h2>
<span>
<?php
$sql = "SELECT DISTINCT Year FROM works WHERE Cat=".$row['Cat_ID'];
$yresult = mysql_query($sql);
while ($yrow = mysql_fetch_row($yresult))
{
//and print it as anchor here but it wont get into loop at all!
}
?>
</span>
</div>
<?php } ?>
q()是一个只连接到DB并运行查询的函数。这条线很好用。
但它根本不会进入内心!我检查并看到$yrow是完全空的(通过php的empty()实现)!
我能怎么办?看来mysql根本无法执行第二个查询!我认为解决办法必须有两个方面。
1.让mysql执行第二个查询。
2.改变第一个查询的方式,清楚地获取年份,并通过mysql_fetch_数组读取它们,并将年份作为每个年份的锚定通道
请帮帮我。不要有多个循环,而要使用
内部连接
:
SELECT DISTINCT works.Year FROM cat INNER JOIN works ON (cat.ID = works.Cat_ID)
如果您可以对两个SQL查询进行联接,这将更加高效。您确定您的查询正确且有效吗?
mysql\u error
显示了什么?sql没有显示错误,它只是不返回任何东西!也许您需要向我们展示q(“cat”)的SQL查询代码>谢谢你的回答,但是我的表的结构是这样的:cat>{ID,Title,…}而works表是这样的works>{ID,Title,URL,Year,cat_ID,…}我需要一个这样的数组用于plz:cat{Title,…,Years{200520092010,}