限制与按随机排序未显示正确结果

时间:2016-06-05 11:06:55

标签: php mysql

我有这样的查询

$result = mysql_query("select * from tenant where totalrating>=".$jum." ORDER BY RAND() LIMIT 0,".$limit2."");
while($row = mysql_fetch_array($result))
{
   $result2 = mysql_query("SELECT * from preorder where id_tenant='".$row['id_tenant']."' and id_acara='$idacara'");
   while($row2 = mysql_fetch_array($result2))
   {
       echo row['order'];
   }
}

我有变量$limit设置我的限制,我的问题是如果我设置限制5,结果只显示4个数据,如果我刷新页面,结果将显示5个数据,如果我刷新页面再次显示,结果再次显示4。有人可以给我一个解释吗? 谢谢你,祝你有愉快的一天!

1 个答案:

答案 0 :(得分:0)

使用时:

 ORDER BY RAND() LIMIT 0,".$limit2.""

然后,您每次都会收到随机记录,因此,其中一些记录可能没有 预订 表中的相应记录。

我建议您在代码中添加另一行,以确保始终获得5个结果

$result = mysql_query("select * from tenant where totalrating>=".$jum." ORDER BY RAND() LIMIT 0,".$limit2."");
while($row = mysql_fetch_array($result))
{
   echo "<br />Getting results preorders of id_tenant=". $row['id_tenant'] . " and idacara=$idacara <br />";

   $result2 = mysql_query("SELECT * from preorder where id_tenant='".$row['id_tenant']."' and id_acara='$idacara'");
   while($row2 = mysql_fetch_array($result2))
   {
       echo row['order'];
   }
}

这样你可以注意到你总是得到5个结果,其中一些没有 预购 表中的记录