激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - thinkPHP實(shí)現(xiàn)的聯(lián)動(dòng)菜單功能詳解

thinkPHP實(shí)現(xiàn)的聯(lián)動(dòng)菜單功能詳解

2021-05-17 16:56許偉強(qiáng) PHP教程

這篇文章主要介紹了thinkPHP實(shí)現(xiàn)的聯(lián)動(dòng)菜單功能,結(jié)合實(shí)例形式分析了thinkPHP聯(lián)動(dòng)菜單的實(shí)現(xiàn)步驟與具體操作技巧,需要的朋友可以參考下

本文實(shí)例講述了thinkphp實(shí)現(xiàn)的聯(lián)動(dòng)菜單功能。分享給大家供大家參考,具體如下:

聯(lián)動(dòng)菜單,首先給你看看前端是怎么寫的:

thinkPHP實(shí)現(xiàn)的聯(lián)動(dòng)菜單功能詳解

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<div id="newcat">
  <div class="all_type" id="allgoogscat">所有商品分類</div>
  <div class="spfl-warp <?php if(controller_name != 'index' || action_name != 'index'){echo 'hide';} ?> ">
    <div class="index-spfl-left" id="divcatlist">
      <ul>
        <foreach name="category_menu" key="one" item="v">
        <li class="li{$one+1}">
          <span><em></em>
            <a href="{:u('category/index',array('id'=>$v['category_id'],'level'=>1))}" rel="external nofollow" >{$v.category_name}</a>
          </span>
          <div class="div none">
            <foreach name="v['childs']" key="two" item="v2">
              <dl>
                <dt>
                  <a href="{:u('category/index',array('id'=>$v2['category_id'],'level'=>2))}" rel="external nofollow" >{$v2.category_name}</a>
                </dt>
                <dd class="fl">
                  <foreach name="v2['childs']" item="v3">
                    <a href="{:u('category/index',array('id'=>$v3['category_id'],'level'=>3))}" rel="external nofollow" >
                      {$v3.category_name}
                    </a>
                  </foreach>
                </dd>
                <div class="cl"></div>
              </dl>
            </foreach>
          </div>
        </li>
      </foreach>
    </ul>
  </div>
  </div>
</div>
<script type="text/javascript">
<?php if(controller_name != 'index' || action_name != 'index'){ ?>
  //商品分類鼠標(biāo)滑過
  function spflhover() {
    $(".index-spfl-left ul li").live("mouseover", function () {
      $(this).addclass("active").siblings().removeclass("active");
      $(".index-spfl-left").find(".div").hide();
      $(this).find(".div").show();
    }).live("mouseout", function () {
      $(this).removeclass("active");
      $(".index-spfl-left").find(".div").hide();
      $(this).find(".div").hide();
    });
    //鼠標(biāo)滑過分類顯示
    $("#newcat").mouseover(function () {
      $(".spfl-warp").show();
    }).mouseout(function () {
      if ($("#ismain").val() == "1") {
        $(".spfl-warp").show();
      } else {
        $(".spfl-warp").hide();
      }
    })
  }
  spflhover();
<?php } ?>
</script>

看到?jīng)]有,其實(shí)里面的一級(jí)菜單對(duì)應(yīng)二級(jí)菜單都是在同一個(gè)li里面的,li里面的二級(jí)三級(jí)呢,都是放在dl的dt和dd標(biāo)簽里面;

然后現(xiàn)在我們看看取出來的category_menu,什么樣的數(shù)據(jù):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
array
(
 [0] => array
  (
   [category_id] => 84
   [category_name] => 家裝主材
   [parent_id] => 0
   [listorder] => 200
   [display] => 1
   [childs] => array
    (
     [0] => array
      (
       [category_id] => 85
       [category_name] => 廚衛(wèi)
       [parent_id] => 84
       [listorder] => 200
       [display] => 1
       [childs] => array
        (
         [0] => array
          (
           [category_id] => 99
           [category_name] => 廚盆/水槽
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [1] => array
          (
           [category_id] => 98
           [category_name] => 衛(wèi)浴配件
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [2] => array
          (
           [category_id] => 97
           [category_name] => 衛(wèi)浴龍頭
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [3] => array
          (
           [category_id] => 96
           [category_name] => 龍頭
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [4] => array
          (
           [category_id] => 95
           [category_name] => 淋浴房
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [5] => array
          (
           [category_id] => 94
           [category_name] => 智能坐便器
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [6] => array
          (
           [category_id] => 93
           [category_name] => 浴室柜
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [7] => array
          (
           [category_id] => 92
           [category_name] => 坐便器
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [8] => array
          (
           [category_id] => 91
           [category_name] => 浴霸
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [9] => array
          (
           [category_id] => 90
           [category_name] => 地漏
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [10] => array
          (
           [category_id] => 89
           [category_name] => 坐便器蓋板
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [11] => array
          (
           [category_id] => 88
           [category_name] => 洗面盆
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [12] => array
          (
           [category_id] => 87
           [category_name] => 角閥
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [13] => array
          (
           [category_id] => 100
           [category_name] => 衛(wèi)浴五金
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [14] => array
          (
           [category_id] => 101
           [category_name] => 廚房掛件/配件
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [15] => array
          (
           [category_id] => 86
           [category_name] => 淋浴花灑
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
        )
      )
     [1] => array
      (
       [category_id] => 126
       [category_name] => 墻紙
       [parent_id] => 84
       [listorder] => 200
       [display] => 1
       [childs] => array
        (
         [0] => array
          (
           [category_id] => 130
           [category_name] => 3d墻紙
           [parent_id] => 126
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [1] => array
          (
           [category_id] => 129
           [category_name] => 純紙墻紙
           [parent_id] => 126
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [2] => array
          (
           [category_id] => 128
           [category_name] => pvc墻紙
           [parent_id] => 126
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )

然后,數(shù)據(jù)表是怎么樣的數(shù)據(jù)呢:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
array
(
  [0] => array
    (
      [category_id] => 211
      [category_name] => 鞋柜
      [parent_id] => 31
      [listorder] => 200
      [display] => 1
    )
  [1] => array
    (
      [category_id] => 194
      [category_name] => 相框/照片墻
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )
  [2] => array
    (
      [category_id] => 193
      [category_name] => 簾藝隔斷
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )
  [3] => array
    (
      [category_id] => 192
      [category_name] => 沙發(fā)墊套/椅墊
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )
  [4] => array
    (
      [category_id] => 191
      [category_name] => 地毯地墊
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )
  [5] => array
    (
      [category_id] => 190
      [category_name] => 桌布/罩件
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )

數(shù)據(jù)表數(shù)據(jù)是醬紫的;

然后,你能寫出那個(gè)處理數(shù)組的方法嗎,給你原數(shù)據(jù),然后你用迭代處理成你想要的數(shù)據(jù),不用太多,6行代碼左右,你ok?

代碼拷貝多了,人也就變傻了,知不知道???

?
1
2
3
4
5
6
7
8
9
10
11
12
13
//把欄目分組,以多維數(shù)組形式
public function group_category($id = 0)
{
    $list=$this->where('display = 1')->order('listorder asc')->select();
    $tmp = array();
    foreach($list as $v){
      if($v['parent_id'] == $id){
        $v['childs'] = $this->group_category($v['category_id']);
        $tmp[] = $v;
      }
    }
    return $tmp;
}

為什么不把sql語句放在外面作為參數(shù)傳遞進(jìn)去函數(shù)groud_category函數(shù)呢?這樣就不用老是查數(shù)據(jù)庫啊。

無非也就是將父id為0開始查詢,然后對(duì)其子欄目的id在做為父id進(jìn)行查詢,查詢出屬于其id的子欄目

希望本文所述對(duì)大家基于thinkphp框架的php程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 爱射av| 午夜偷拍视频 | 毛片在哪看 | 久久精品国产久精国产 | 久久久久久麻豆 | 欧美一级特黄aaaaaaa什 | 91成人午夜性a一级毛片 | 桥本有菜免费av一区二区三区 | 露脸各种姿势啪啪的清纯美女 | 亚洲精品xxx | 91精品一区二区综合在线 | 56av国产精品久久久久久久 | 99热久草 | 99在线精品视频免费观看20 | avav在线播放 | 免费毛片观看 | 日本在线观看高清完整版 | 欧美城天堂网 | 国产一区二区精彩视频 | 国产成人高潮免费观看精品 | 欧美精品99 | 欧美一级美国一级 | 正在播放91精 | 久久亚洲精品国产一区 | 精品三级内地国产在线观看 | 欧美日韩网站在线观看 | 精品一区二区三区在线播放 | 色交视频 | 免费a级黄色片 | 91短视频版高清在线观看免费 | 精品在线观看一区二区 | 欧美a在线看 | 7777网站| 麻豆视频在线观看免费网站 | 日本成人在线免费 | 黄色网电影 | 亚洲免费资源 | 97青青 | 国产一级免费av | 深夜影院一级毛片 | 久久人人爽人人爽人人片av高请 |