【问题标题】:mysql next and previousmysql 下一个和上一个
【发布时间】:2011-12-14 12:27:17
【问题描述】:

我目前正在使用 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 个随机航班。

非常感谢任何帮助。

【问题讨论】:

  • 请检查您的格式。

标签: php mysql next


【解决方案1】:

您可以使用 ORDER BY RAND(seed) 给出可重复的pseudorandom 订单:

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

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

【讨论】:

  • 我理解并且可以让随机部分工作,但我不明白如何调整下一个/上一个的偏移量。我的第一个想法是选择 * 并将总行数分配给计数变量,然后根据按下的按钮递增/递减。如果没有更好的方法,那么这就是我最终不得不做的事情。
  • @snapplex:你可能还想看看FOUND_ROWS
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-04
  • 2012-08-15
  • 1970-01-01
相关资源
最近更新 更多