的隨機循環我有一個包含字段的SQL數據庫。我可以得到所有在該領域的元素: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,但我只是不確定使用什麼技術。
UPDATE:
帕特里克的想法似乎正是我一直在尋找。我想我會分享我現在擁有的,也許你可以建議優化。我希望代碼中的意圖是顯而易見的。
<?
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! –