<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                我們看完模板了,回到查詢。 看看歸檔是如何實現的。 歸檔,故名思議就是按照月份,將你的博文分類在一塊顯示。 先看搜索。 歸檔對應的url 為 /year/month 這個是通過空模塊空方法路由過去的。 ![2015-06-30/5592b848418e9](http://box.kancloud.cn/2015-06-30_5592b848418e9.png) 然后archive 歸檔方法: ~~~ //歸檔 public function archive($year, $month){ $_GET['month'] = $month; $_GET['year'] = $year; $this->assign('title', "{$year}年{$month}月的文章"); $this->assign('year', $year); $this->assign('month', $month); $this->lists(I('get.page', 1)); $this->display('Index/index'); } ~~~ 參數綁定后,定義了標題,賦值了year和month模板變量。 實際上還是走的lists方法。 而lists方法里 在之前deadline參數前面 有這么一段: ~~~ //歸檔搜索 if(isset($_GET['year']) && isset($_GET['month'])){ $year = CONTROLLER_NAME; $month = ACTION_NAME; $map['_string'] = "`deadline` LIKE binary('{$year}-{$month}%')"; } ~~~ 就是當有歸檔時間參數時,直接這樣查詢 like查詢,因為我們的deadlien 是datetime 格式的,顯示時是2015-06-11 h:i:s 這種格式的,所以可以直接like。 注意:mysql 5.5 以上版本 日期格式字符串 like 要這樣寫才不會報錯。 查詢結束后,我們需要把所有文章的歸檔日期組裝出來。 ~~~ //獲取歸檔 $list = $postModel->where($map)->order('`deadline` DESC,`id` DESC')->select(); $date = $time = array(); foreach ($list as $key => $value) { if($value['deadline']) $time[] = date('F Y', strtotime($value['deadline'])); } $time = array_unique($time); foreach ($time as $key => $value) { $date[] = array( 'text'=> $value, 'link'=> date('Y/m', strtotime($value)) ); } $this->assign('archive', $date); ~~~ 這邊先這種方式獲取。 這里有兩個優化點: 1. 查詢歸檔時查詢所有字段,當數據量大時,內存占用多,應該只查deadline字段; 2. 像標簽和歸檔這些可以做一個緩存,當有數據刪除或者新增時重新更新緩存,不過這個要看讀寫頻次比了。 前臺顯示,和標簽一樣就是遍歷顯示了: ~~~ <div class="sidebar-module"> <h4>歸檔</h4> <ol class="list-unstyled"> <volist name="archive" id="vo"> <li><a href="{:U($vo['link'])}">{$vo.text}</a></li> </volist> </ol> </div> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看