国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

thinkphp分頁數(shù)據(jù)查詢時(shí),如果設(shè)置了緩存就讀不到第2頁了,怎么破?
怪我咯
怪我咯 2017-05-16 13:04:24
0
5
656

thinkphp分頁數(shù)據(jù)查詢時(shí),如果設(shè)置了緩存就只顯示第1頁,怎么破?
即 12 >> 這個(gè)效果出來了,但是點(diǎn)擊2,顯示的還是第1頁的內(nèi)容。

$count=M('visitdata')->where(array('works_code'=>$get_code))->count();
$Page=new \Think\Page($count,10);
$show=$Page->show();

S($get_code.'visitdata',null);  //如果不先清空緩存,就只顯示第1頁……    
// 進(jìn)行分頁數(shù)據(jù)查詢,如果這里設(shè)置了緩存,就只顯示第1頁 
M('visitdata')->cache($get_code.'visitdata',60)->where(array('works_code'=>$get_code))->order('visit_id')->limit($Page->firstRow.','.$Page->listRows)->select();
$cache_visitdata=S($get_code.'visitdata');

$this->assign(array(
    'code'=>$get_code,
    'visitdata'=>$cache_visitdata
)); 
$this->assign('page',$show);
$this->display();

12 >> 這個(gè)效果出來了,但是點(diǎn)擊2,顯示的還是第1頁的內(nèi)容。
請問怎么破?

怪我咯
怪我咯

走同樣的路,發(fā)現(xiàn)不同的人生

全部回復(fù)(5)
我想大聲告訴你

這是tp3.2吧,長時(shí)間不用都忘了怎么用了,題主可以這樣:

  • 獲取頁碼

  • 查看頁碼對應(yīng)的緩存是否存在(緩存key可以這樣寫:'content_page_' . $page

  • 緩存存在就返回

  • 緩存不存在則執(zhí)行數(shù)據(jù)庫查詢并緩存一份,下次請求進(jìn)來的時(shí)候就直接走緩存了

我覺得主要問題在于緩存的key值上。

給我你的懷抱

s的key加上分頁標(biāo)示

phpcn_u1582

輸出sql語句調(diào)試,先看sql執(zhí)行的是什么再去找問題

phpcn_u1582

你這里的:->cache($get_code.'visitdata',60)
中的$get_code.'visitdata'在分頁情況下是相同的,所以,不會更新。
你把頁碼包涵到這個(gè)key里去應(yīng)該就可以了。

劉奇

雷雷

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板