今天在問答版塊看到一位易友的提問,

首先很快想到可以用sql語句rand函數(shù)來解決,于是貼上了代碼:

但是經(jīng)過提問者測試確實(shí)是隨機(jī)的,然而卻是固定的三條文章,刷新不會變化

經(jīng)過本地測試,的確是sql語句只執(zhí)行了一次,于是便想辦法解決。這時(shí)候想到了利用隨機(jī)數(shù)函數(shù),每次刷新產(chǎn)生不同的隨機(jī)數(shù)傳送到sql語句里,這樣就可以實(shí)現(xiàn)每次刷新都執(zhí)行sql語句。
改進(jìn)了需要引入隨機(jī)數(shù)保證每次刷新重新執(zhí)行sql
{eyou:assign name="keywords" value="$eyou.field.keywords"}
{eyou:sql sql="select COUNT(*) as total from ey_archives"}
{eyou:assign name="rand" value=":rand(0$field.total)"}
{/eyou:sql}
{eyou:sql sql="select aid from ey_archives where title like '%$keywords%' order by rand() limit $rand,3"}
{eyou:arcview aid="$field.aid" id="field2"}
<a href="{$field2.arcurl}">{$field2.title}</a>
{/eyou:arcview}
{/eyou:sql}
注意中文逗號改為英文