mysql下一个和上一个

时间:2011-10-24 22:11:29

标签: php mysql next

我目前正在使用mysql和php从我的约1100条记录表中显示9个随机结果。

即使它是随机的,也可以使用下一个和上一个按钮吗?我查看了已经发布的几个示例,但它们似乎是应用程序/项目特定的。这是我的代码看起来像..

    function executeQuery($searchKey)
    {

        if ($searchKey == null)
        {
    $query = "SELECT DISTINCT flightNumber, flightCity FROM allFlights LIMIT 0,9";
        //DEBUG -echo "<p>$searchKey</p>";echo "<p>$query</p>";
        }
        else
        {
        //DEBUG -echo "<p>$searchKey</p>";echo "<p>var not null</p>";
           $query = "Select distinct * from allFlights where flightCity LIKE '%$searchKey%' LIMIT 0,9";
        //DEBUG -echo "<p>$searchKey</p>";echo "<p>$query</p>";
        }
   $result=mysql_query($query);
   $numrow=mysql_numrows($result);
   if ($numrow === 0)
   {
    $query = "Select distinct * from allFlights where flightNumber LIKE '%$searchKey%' LIMIT 0,9";
    $result=mysql_query($query);
    $numrow=mysql_numrows($result);
   }
return $result;
     }

       function populate ()
       {
         $searchKey = mysql_real_escape_string($_POST["search"]); //assigns user input to searchKey variable
         //DEBUG -echo "<p>$searchKey</p>";
         $result=executeQuery($searchKey);
         $numrow=mysql_numrows($result);

     if ($numrow == 0)
     {
        echo "<center><p><b> No results found, please try another keyword.</p></center></b>";
     }
     else
     { display results. -- this part i have working.
             }

我更喜欢在加载页面时发生这种情况: - 列出了与可用航班数量相关的当前位置。 (现在显示1100个航班中的9个) 显示-9个随机航班。 - 下一个按钮,将显示接下来的9个航班(随机会很好。) - 显示之前(原始)9个航班的先前按钮(随机会很好。)

当完成所有操作后,我希望能够加载页面识别9个随机航班,按下接下来确定新的9个随机航班,然后确定原来的9个随机航班。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用ORDER BY RAND(种子)来提供可重复的pseudorandom订单:

SELECT * 
FROM ....
ORDER BY RAND(9325)
LIMIT 99, 9

调整偏移量以在结果中前后移动。种子可以是任何整数,如果要重新随机化顺序,可以更改它,但是必须在向后或向前按时使用相同的种子。