cari

Rumah  >  Soal Jawab  >  teks badan

Apabila menanyakan data penomboran thinkphp, jika cache ditetapkan dan halaman kedua tidak boleh dibaca, bagaimana saya boleh memecahkannya?

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?

怪我咯怪我咯2834 hari yang lalu587

membalas semua(5)saya akan balas

  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:06:24

    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.

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:06:24

    kunci ditambah tanda paging

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:06:24

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

    balas
    0
  • phpcn_u1582

    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.

    balas
    0
  • 怪我咯

    怪我咯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');
    
    //把页码加上。

    balas
    0
  • Batalbalas