Apabila menanyakan data penomboran thinkphp, jika cache ditetapkan dan halaman kedua tidak boleh dibaca, bagaimana saya boleh memecahkannya?
怪我咯
怪我咯 2017-05-16 13:04:24
0
5
522

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?

怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(5)
我想大声告诉你

Ini adalah tp3.2 Saya sudah lama tidak menggunakannya dan saya terlupa cara menggunakannya

  • Dapatkan nombor muka surat

  • Periksa sama ada cache yang sepadan dengan nombor halaman wujud (kunci cache boleh ditulis seperti ini:

    )'content_page_' . $page

  • Kembalikan jika cache wujud

  • Jika cache tidak wujud, laksanakan pertanyaan pangkalan data dan cache salinan Apabila permintaan seterusnya masuk, ia akan dicache terus

Saya rasa masalah utama terletak pada nilai kunci cache.

给我你的怀抱

kunci ditambah tanda paging

phpcn_u1582

Keluarkan pernyataan sql untuk penyahpepijatan, mula-mula lihat apa yang sql sedang dilaksanakan dan kemudian cari masalahnya

phpcn_u1582

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.

刘奇
$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');

//把页码加上。
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan