Apabila pertanyaan data paging thinkphp, jika cache ditetapkan, hanya halaman pertama akan dipaparkan Bagaimana untuk memecahkannya?
Iaitu, 12 >> Kesan ini keluar, tetapi apabila anda mengklik 2, kandungan halaman 1 masih dipaparkan.
$count=M('visitdata')->where(array('works_code'=>$get_code))->count();
$Page=new \Think\Page($count,10);
$show=$Page->show();
S($get_code.'visitdata',null); //Jika cache tidak dikosongkan dahulu, hanya halaman 1 akan dipaparkan...
// Lakukan pertanyaan data paging Jika cache ditetapkan di sini, hanya halaman 1 akan dipaparkan.
M('data lawatan')->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 >> Kesan ini keluar, tetapi apabila anda mengklik 2, kandungan pada halaman 1 masih dipaparkan.
Bagaimana untuk memecahkannya?
Ini adalah tp3.2 Saya sudah lama tidak menggunakannya dan saya terlupa cara menggunakannya
)
'content_page_' . $page
kunci ditambah tanda paging
Keluarkan pernyataan sql untuk penyahpepijatan, mula-mula lihat apa yang sql sedang dilaksanakan dan kemudian cari masalahnya
Apa yang anda ada di sini: ->cache($get_code.'visitdata',60)
$get_code.'visitdata' adalah sama dalam kes paging, jadi ia tidak akan dikemas kini.
Anda sepatutnya boleh memasukkan nombor halaman dalam kunci ini.