フィールドを含む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個の要素がある場合、2回目の要素を再び表示する前に、N個の要素をすべて1回だけ選択します。プロセスはそれ自体を繰り返す。私は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を含むとは思わない! –