我目前正在使用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个随机航班。
非常感谢任何帮助。
答案 0 :(得分:2)
您可以使用ORDER BY RAND(种子)来提供可重复的pseudorandom订单:
SELECT *
FROM ....
ORDER BY RAND(9325)
LIMIT 99, 9
调整偏移量以在结果中前后移动。种子可以是任何整数,如果要重新随机化顺序,可以更改它,但是必须在向后或向前按时使用相同的种子。