Rumah > Soal Jawab > teks badan
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?
我想大声告诉你2017-05-16 13:06:24
Ini adalah tp3.2 Saya sudah lama tidak menggunakannya dan saya terlupa cara menggunakannya
)'content_page_' . $page
phpcn_u15822017-05-16 13:06:24
Keluarkan pernyataan sql untuk penyahpepijatan, mula-mula lihat apa yang sql sedang dilaksanakan dan kemudian cari masalahnya
phpcn_u15822017-05-16 13:06:24
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.
怪我咯2017-05-16 13:06:24
$p = intval($_GET['p']);
M('visitdata')->cache($get_code.'visitdata'.$p,60)->where(array('works_code'=>$get_code))->order('visit_id')->limit($Page->firstRow.','.$Page->listRows)->select();
$cache_visitdata=S($get_code.'visitdata');
//把页码加上。