簡體   English   中英

每次獲取隨機/不同記錄

[英]To fetch Random/different records each time

我有3個縮略圖,每次用戶刷新頁面時我都想旋轉它們。 因此要每次顯示不同的縮略圖。 我的圖像名稱存儲在數據庫中。 我正在使用此SQL查詢來獲取“按rand()限制1從表名順序中選擇縮略圖”。 它正在完美地獲取一個縮略圖。

問題是有時出現相同的圖像。 例如第一次我刷新頁面縮略圖1.jpg顯示,但是第二次出現1.jpg。

所以我要尋找的是每次刷新頁面時都有不同的縮略圖。

誰能為我提供一些建議以實現這一目標?

由於隨機選擇,這是不可能的,因為同一張圖像可以再次出現。

為了獲得理想的效果,您需要使用cookie來存儲最后顯示的圖像名稱,而不為下一個請求顯示該圖像。

正如您在評論中確認的那樣,您不想顯示最后顯示的縮略圖。 在這種情況下,您可以使用sessions這樣做:

// get last shown from session if any
$last_shown = '';
if(isset($_SESSION['last_shown_thumb']))
    $last_shown = $_SESSION['last_shown_thumb'];

// select a thumbnail randomly which is not the one last shown
$query = "SELECT thumbnail FROM tablename WHERE thumbnail <> '" . $last_shown . "' order by rand() limit 1";
$res = mysql_query($query);
$row = mysql_fetch_row($res);
$curr_thumb = $row[0];

// set the current to last shown in session
$_SESSION['last_shown_thumb'] = $curr_thumb;

假設您使用的是PHP,則將先前的縮略圖存儲在$current_thumbnail
然后,您可以像這樣

SELECT thumbnail FROM tablename WHERE thumbnail <> '$current_thumbnail' ORDER BY rand() LIMIT 1

您的查詢只需要知道您當前正在顯示的縮略圖,就可以將其過濾掉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM