【发布时间】:2014-05-22 15:15:13
【问题描述】:
如何从数据库中同时随机显示一行。一切正常,但显示所有行。谢谢
<?php
$sql = "SELECT id,name FROM table ";
$rows = array();
$result = $objCon->query($sql);
while($row = $result->fetch_assoc())
{
$rows[] = $row;
}
shuffle($rows);
echo '<ol>';
foreach($rows as $row)
{
echo '<li><h3>'.$row['id'].' = '.$row['name'].'</h3></li>';
}
echo '</ol>';
?>
【问题讨论】:
-
洗牌只会洗牌。您仍在循环从数据库返回的所有行。只是顺序不同。如果只需要一个循环,为什么还要进行 foreach 循环?
-
$sql = "SELECT id, name FROM table ORDER BY RAND() LIMIT 1";如果你使用 mysql