自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

json數(shù)據(jù)來制作商城的產(chǎn)品分類菜單

開發(fā) 前端
人們早就習(xí)慣了在互聯(lián)網(wǎng)購物買東西,甚至有一部分朋友還是上癮了。本篇PHP教程就來幫助您的電子商務(wù)項(xiàng)目實(shí)現(xiàn)最重要的產(chǎn)品類別的導(dǎo)航菜單系統(tǒng)。

人們早就習(xí)慣了在互聯(lián)網(wǎng)購物買東西,甚至有一部分朋友還是上癮了。本篇PHP教程就來幫助您的電子商務(wù)項(xiàng)目實(shí)現(xiàn)最重要的產(chǎn)品類別的導(dǎo)航菜單系統(tǒng)。我已經(jīng)使用PHP、MYSQL及JQuery實(shí)現(xiàn)了亞馬遜樣式的產(chǎn)品分類圖像菜單,下面讓我們來看一下如何使用json數(shù)據(jù)來制作商城的產(chǎn)品分類菜單。

amazon產(chǎn)品分類導(dǎo)航 

amazon產(chǎn)品分類導(dǎo)航

在線演示

數(shù)據(jù)庫

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

  1. CREATE TABLE `categories`  
  2. (  
  3. `cat_id` int(11) NOT NULL AUTO_INCREMENT,  
  4. `name` varchar(150) ,  
  5. `parent` int(11) ,  
  6. `media` varchar(100),  
  7. PRIMARY KEY (`cat_id`)  
  8. ); 

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

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

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

categories.php

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

  1. <?php  
  2. include('db.php');  
  3. $sql = mysql_query("select cat_id,name,media from categories where parent=0");  
  4. // parent categories node  
  5. $categories = array("Categories" => array());  
  6.  
  7. while ($row = mysql_fetch_array($sql))  
  8. {  
  9. $cat_id = $row['cat_id'];  
  10. $ssql = mysql_query("select cat_id,name,media from categories where parent='$cat_id'");  
  11.  
  12. // single category node  
  13. $category = array(); // temp array  
  14. $category["cat_id"] = $row["cat_id"];  
  15. $category["name"] = $row["name"];  
  16. $category["media"] = $row["media"];  
  17. $category["sub_categories"] = array(); // subcategories again an array  
  18.  
  19. while ($srow = mysql_fetch_array($ssql))  
  20. {  
  21. $subcat = array(); // temp array  
  22. $subcat["cat_id"] = $srow['cat_id'];  
  23. $subcat["name"] = $srow['name'];  
  24. // pushing sub category into subcategories node  
  25. array_push($category["sub_categories"], $subcat);  
  26. }  
  27.  
  28. // pushing sinlge category into parent  
  29. array_push($categories["Categories"], $category);  
  30. }  
  31. echo ((isset($_GET['callback'])) ? $_GET['callback'] : "") . '(' . json_encode($categories) . ')';  
  32. ?> 

JSON 輸出的格式

 

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

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

#p#

JavaScript & HTML

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

  1. <script type="text/javascript" src="http://ajax.googleapis.com/  
  2. ajax/libs/jquery/1.6.2/jquery.min.js"></script>  
  3. <script type="text/javascript" >  
  4. $(document).ready(function()  
  5. {  
  6.  
  7. $.getJSON("categories.php?callback=?"function(data)  
  8. {  
  9. $.each(data.Categories, function(i, category)  
  10. {  
  11. var subjsondata='';  
  12. $.each(category.sub_categories, function(i, sub_categories)  
  13. {  
  14. subjsondata += "<li>"+sub_categories.name+"</li>";  
  15. });  
  16. var jsondata ="<li class="category" id=''"+category.cat_id+"'>"+category.name+"<ul class="hideul" id='hide"+category.cat_id+"' media='"+category.media+"'>"+subjsondata+"</ul>  
  17. </li>";  
  18. $(jsondata).appendTo("#menu_ul");  
  19. });  
  20. }  
  21. );  
  22.  
  23. //MouseOver on Categories  
  24. $(".category").live('mouseover',function(event)  
  25. {  
  26. $("#menu_slider").show();  
  27. var D=$(this).html();  
  28. var id=$(this).attr('id');  
  29. var V=$("#hide"+id).html();  
  30. var M=$("#hide"+id).attr("media");  
  31. $("#submenu_ul").html(V);  
  32. $("#menu_slider h3").html(D);  
  33. //Background Image Check  
  34. if(M!='null')  
  35. {  
  36. $("#menu_slider").css({"width""450px"});  
  37. }  
  38. else 
  39. {  
  40. $("#menu_slider").css({"width""250px"});  
  41. }  
  42. $("#menu_slider").css('background''url(backgrounds/' + M + ') #ffffff no-repeat right bottom');  
  43. });  
  44.  
  45. //Document Click  
  46. $(document).mouseup(function()  
  47. {  
  48. $("#menu_slider").hide();  
  49. });  
  50.  
  51. //Mouse click on sub menu  
  52. $("#menu_slider").mouseup(function(){ return false });  
  53.  
  54. //Mouse click on my account link  
  55. $("#menu_box").mouseup(function(){ return false });  
  56. });  
  57. </script> 

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

HTML 代碼

  1. //HTML Code  
  2. <div id='menu_box' class='shadow'> 
  3. <ul id='menu_ul'></ul> 
  4. </div> 
  5. <div id='menu_slider'> 
  6. <h3></h3> 
  7. <ul id='submenu_ul'></ul> 
  8. </div> 

db.php

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

  1. <?php  
  2. $mysql_hostname = "localhost";  
  3. $mysql_user = "username";  
  4. $mysql_password = "password";  
  5. $mysql_database = "databasename";  
  6. $bd = mysql_connect($mysql_hostname$mysql_user$mysql_passwordor die("Could not connect database");  
  7. mysql_select_db($mysql_database$bdor die("Could not select database");  
  8. ?> 

CSS

  1. #menu_box  
  2. {  
  3. border-top:solid 3px #333;  
  4. border-left:solid 1px #dedede;  
  5. border-right:solid 1px #dedede;  
  6. border-bottom:solid 1px #dedede;  
  7. min-height:400px;width:200px;  
  8. background-color:#fff;  
  9. margin-left:20px;  
  10. float:left;  
  11. position:relative;  
  12. z-index:300 
  13. }  
  14. #menu_slider  
  15. {  
  16. border-top:solid 3px #333;  
  17. border-left:solid 1px #dedede;  
  18. border-right:solid 1px #dedede;  
  19. border-bottom:solid 1px #dedede;  
  20. min-height:370px;background-color:#fff;margin-left:220px;  
  21. position:absolute;  
  22. width:250px;  
  23. position:relative;  
  24. z-index:200;  
  25. display:none;  
  26. padding:15px 
  27. }  
  28. .hideul{display:none

原文鏈接:http://www.phpfuns.com/scripts/ecommerce-menu-design-with-json-data.shtml

責(zé)任編輯:張偉 來源: phpfuns
相關(guān)推薦

2011-05-31 15:56:52

游戲啟動菜單Android

2024-08-06 11:17:58

SpringJSON數(shù)據(jù)

2012-03-07 15:13:07

PhoneGapmenu菜單

2010-09-13 13:35:39

CSS屬性

2011-09-28 09:10:51

Windows開始

2011-09-27 10:13:38

諾基亞Windows Pho

2020-10-10 09:57:03

AIOps夢工廠制作進(jìn)度

2012-05-14 16:29:53

HTML5

2014-04-29 10:39:27

CSS3JavaScript

2010-09-30 13:11:59

J2MECanvas

2022-05-08 13:05:22

職位產(chǎn)品經(jīng)理開源

2015-07-22 14:54:20

我來貸

2020-07-20 14:04:34

Excel下拉菜單數(shù)據(jù)

2018-11-21 09:53:08

服務(wù)服務(wù)器分類

2023-03-03 09:12:53

服務(wù)器

2018-01-08 17:17:46

微信

2022-11-22 11:47:25

JSON格式外置表單

2021-08-30 09:25:25

Bert模型PyTorch語言

2013-07-24 09:36:03

產(chǎn)品上線產(chǎn)品著陸頁

2014-09-03 14:11:36

福祿克網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號