【发布时间】:2011-06-23 00:22:31
【问题描述】:
我有一个包含字段的 SQL 数据库。我可以通过以下方式获取该字段中的所有元素:
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
$ftype =$row['ftype']; //name of field is 'ftype'
print $ftype} //do something
我希望在每次打开/刷新页面时打印出一个随机元素。
知道结果是一个包含我想要的信息的数组,我想随机选择数组的一个元素。此外,如果数组中有 N 个元素,我想在第二次再次显示任何元素之前只选择一次所有 N 个元素。该过程不断重复。我知道如何在 java 或 python 中编写这样的代码,但我认为这不是我应该采用的方式。
我想我需要使用 javascript,但我只是不确定要使用什么技术。
更新:
Patrick 的想法似乎正是我想要的。我想我会分享我现在拥有的东西,也许你可以建议优化。我希望代码中的意图是显而易见的。
<?
session_start();
if (!isset($_SESSION['count']) || !isset($_SESSION['randomArray'])) {
$count = 0;
$randomArray = array();
$sql="SELECT youtubeurl FROM Foodlist";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
array_push($randomArray,$row['youtubeurl']);
}
shuffle($randomArray);
$_SESSION['randomArray'] = $randomArray;
$_SESSION['count'] = $count;
} elseif ($_SESSION['count'] >= sizeof($_SESSION['randomArray'])){
$_SESSION['count'] = 0;
$randomArray = $_SESSION['randomArray'];
shuffle($randomArray);
$_SESSION['randomArray'] = $randomArray;
} else{
$randomArray = $_SESSION['randomArray'];
$count = $_SESSION['count'];
echo $randomArray[$count];
$_SESSION['count']++;
}
?>
【问题讨论】:
-
我认为这不会涉及 Javascript!