データベースから2つのランダムな行をフェッチするこのクエリがあります:
$query = "SELECT * FROM foo ORDER BY RAND() LIMIT 2";
$result = mysql_query($query);
私が望むのは、選択した2つのアイテムを記憶して、次のページに再び表示できるようにすることです.RAND()情報で別のテーブルを更新することでこれを行うことができると思いましたが、私の人生ではどうすればよいかわかりませんそれを行う方法についての情報を見つけることもできません。
編集: 全体的なアイデアは、2 つの新しいアイテムと最後の 2 つのアイテムを表示することです。
編集2:
わかりましたので、SESSIONS を使用して実行する必要があるようです。これまでのところ、これを思いつきましたが、結果は以前のものではなく現在のアイテム情報です。
$item_array = array($item_id);
$_SESSION['lastitems'] = $item_array;
foreach($_SESSION['lastitems'] as $key=>$value) {
echo $value . ' <br />';
}
問題は、$item_id
実際に$row['itemid']
はwhileループ内からのみ呼び出すことができるため、前に述べたようなSESSIONSは以前のものではなく現在のアイテム情報であり、以前のものを表示するにはどうすればよいのでしょうか?
編集 3:上記の foreach をループの外に貼り付けましたが、1 つのアイテムしか返されません