溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用json數(shù)據(jù)來制作商城的產品分類菜單

發(fā)布時間:2021-11-18 11:52:53 來源:億速云 閱讀:322 作者:iii 欄目:web開發(fā)

這篇文章主要講解了“怎么用json數(shù)據(jù)來制作商城的產品分類菜單”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么用json數(shù)據(jù)來制作商城的產品分類菜單”吧!

數(shù)據(jù)庫

我們先看一下簡單的數(shù)據(jù)庫表的設計。主要涉及到一個分類表,包含了4個字段cat_id,name,parent,media。

CREATE TABLE `categories`  (  `cat_id` int(11) NOT NULL AUTO_INCREMENT,  `name` varchar(150) ,  `parent` int(11) ,  `media` varchar(100),  PRIMARY KEY (`cat_id`)  );

數(shù)據(jù)表categories中的分類和子分類的數(shù)據(jù)存儲類似下面的格式。

怎么用json數(shù)據(jù)來制作商城的產品分類菜單

商品分類表數(shù)據(jù)格式

categories.php

這個文件主要負責從categories表生成json數(shù)據(jù),供前臺來顯示分類菜單。

<?php  include('db.php');  $sql = mysql_query("select cat_id,name,media from categories where parent=0");  // parent categories node  $categories = array("Categories" => array());   while ($row = mysql_fetch_array($sql))  {  $cat_id = $row['cat_id'];  $ssql = mysql_query("select cat_id,name,media from categories where parent='$cat_id'");   // single category node  $category = array(); // temp array  $category["cat_id"] = $row["cat_id"];  $category["name"] = $row["name"];  $category["media"] = $row["media"];  $category["sub_categories"] = array(); // subcategories again an array   while ($srow = mysql_fetch_array($ssql))  {  $subcat = array(); // temp array  $subcat["cat_id"] = $srow['cat_id'];  $subcat["name"] = $srow['name'];  // pushing sub category into subcategories node  array_push($category["sub_categories"], $subcat);  }   // pushing sinlge category into parent  array_push($categories["Categories"], $category);  }  echo ((isset($_GET['callback'])) ? $_GET['callback'] : "") . '(' . json_encode($categories) . ')';  ?>

JSON 輸出的格式

怎么用json數(shù)據(jù)來制作商城的產品分類菜單

json數(shù)據(jù)格式

JavaScript & HTML

實際上最重要的部分在這里,我們需要使用$.getJSON來附加分類數(shù)據(jù)到UL #menu_ul元素上,子目錄數(shù)據(jù)存儲在隱藏的UL 類名hideul。

<script type="text/javascript" src="http://ajax.googleapis.com/  ajax/libs/jquery/1.6.2/jquery.min.js"></script>  <script type="text/javascript" >  $(document).ready(function()  {   $.getJSON("categories.php?callback=?", function(data)  {  $.each(data.Categories, function(i, category)  {  var subjsondata='';  $.each(category.sub_categories, function(i, sub_categories)  {  subjsondata += "<li>"+sub_categories.name+"</li>";  });  var jsondata ="<li class="category" id=''"+category.cat_id+"'>"+category.name+"<ul class="hideul" id='hide"+category.cat_id+"' media='"+category.media+"'>"+subjsondata+"</ul>  </li>";  $(jsondata).appendTo("#menu_ul");  });  }  );   //MouseOver on Categories  $(".category").live('mouseover',function(event)  {  $("#menu_slider").show();  var D=$(this).html();  var id=$(this).attr('id');  var V=$("#hide"+id).html();  var M=$("#hide"+id).attr("media");  $("#submenu_ul").html(V);  $("#menu_slider h4").html(D);  //Background Image Check  if(M!='null')  {  $("#menu_slider").css({"width": "450px"});  }  else {  $("#menu_slider").css({"width": "250px"});  }  $("#menu_slider").css('background', 'url(backgrounds/' + M + ') #ffffff no-repeat right bottom');  });   //Document Click  $(document).mouseup(function()  {  $("#menu_slider").hide();  });   //Mouse click on sub menu  $("#menu_slider").mouseup(function(){ return false });   //Mouse click on my account link  $("#menu_box").mouseup(function(){ return false });  });  </script>

$(".category").live('mouseover',function(event){}- category 分類標簽li的類名。使用attr("id") 調用分類標簽li的值,根據(jù)ID的類名移動.hideul 子目錄的值到$("#submenu_ul").html(V)。

HTML 代碼

//HTML Code  <div id='menu_box' class='shadow'> <ul id='menu_ul'></ul> </div> <div id='menu_slider'> <h4></h4> <ul id='submenu_ul'></ul> </div>

db.php

數(shù)據(jù)庫配置文件

<?php  $mysql_hostname = "localhost";  $mysql_user = "username";  $mysql_password = "password";  $mysql_database = "databasename";  $bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");  mysql_select_db($mysql_database, $bd) or die("Could not select database");  ?>

CSS

#menu_box  {  border-top:solid 3px #333;  border-left:solid 1px #dedede;  border-right:solid 1px #dedede;  border-bottom:solid 1px #dedede;  min-height:400px;width:200px;  background-color:#fff;  margin-left:20px;  float:left;  position:relative;  z-index:300 }  #menu_slider  {  border-top:solid 3px #333;  border-left:solid 1px #dedede;  border-right:solid 1px #dedede;  border-bottom:solid 1px #dedede;  min-height:370px;background-color:#fff;margin-left:220px;  position:absolute;  width:250px;  position:relative;  z-index:200;  display:none;  padding:15px }  .hideul{display:none}

感謝各位的閱讀,以上就是“怎么用json數(shù)據(jù)來制作商城的產品分類菜單”的內容了,經過本文的學習后,相信大家對怎么用json數(shù)據(jù)來制作商城的產品分類菜單這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI