2011-07-13 201 views
-3

使用PHP和MySQL,我想在我的数据库中回显产品表中的产品列表。我也只想回应产品下面每个产品的最近三次评论。有没有一种方法,我可以做到这一点,而不是把一个SQL查询内循环。我想在脚本中不超过2个sql查询PHP复杂的SQL查询

+0

这通常是用一个循环完成 - 它可能包含多个表。如果您向我们提供更多信息,那么我们可以帮助您减少在脚本 –

+1

中的查询,这可能不值得构建一个疯狂复杂的查询(这将花费更长的时间并耗尽更多资源)。就像您迄今为止编写的代码或数据库模式一样? –

+0

你可以使用MySQL查询变量来实现,但是我需要更多的表格来查看关系和你想要的内容的基础。 – DRapp

回答

1

那么你总是可以使用mysql_fetch_array来获取所有的查询信息,然后将其传递到一个循环中,以便吐出你所需要的信息。类似的过程可以用评论来完成,但如果你表现出了相同的页面的产品名单上的评论,那么你可以使用JOIN查询然后结合两个查询您只使用1

mysql_fetch_array()

MySQL JOIN

3

只是一个猜测,因为没有太多的信息继续下去。

SELECT 
    product.stuff, 
    review.stuff 
FROM   
    product 
INNER JOIN 
    review ON review.dates = (SELECT review.stuff 
          FROM review 
          WHERE product.id = review.product_id 
          ORDER BY review.date ASC 
          LIMIT 3)