真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php樹形菜單數(shù)據(jù)庫(kù)設(shè)計(jì) php 樹結(jié)構(gòu)

php難題(php 樹形菜單)

//如果一級(jí)菜單存在則開始菜單的顯示

超過十余年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營(yíng)模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序制作,微信開發(fā),App定制開發(fā),同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營(yíng)銷和我們一樣獲得訂單和生意!

if(mysql_num_rows($result)0) ShowTreeMenu($Con,$result,$layer,$ID);

//=============================================

//顯示樹型菜單函數(shù) ShowTreeMenu($con,$result,$layer)

//$con:數(shù)據(jù)庫(kù)連接

//$result:需要顯示的菜單記錄集

//layer:需要顯示的菜單的級(jí)數(shù)

//=============================================

function ShowTreeMenu($Con,$result,$layer)

{

//取得需要顯示的菜單的項(xiàng)目數(shù)

$numrows=mysql_num_rows($result);

//開始顯示菜單,每個(gè)子菜單都用一個(gè)表格來表示

echo "table cellpadding='0' cellspacing='0' border='0'";

for($rows=0;$rows$numrows;$rows++)

{

//將當(dāng)前菜單項(xiàng)目的內(nèi)容導(dǎo)入數(shù)組

$menu=mysql_fetch_array($result);

//提取菜單項(xiàng)目的子菜單記錄集

$sql="select * from wiki where pid=$menu[cid]";

這是你的代碼。

如數(shù)據(jù)菜單

1 一級(jí)一 0

2 一級(jí)二 0

3 一級(jí)一下一 1

4 一級(jí)一下二 1

一級(jí)一

一級(jí)一下一

一級(jí)一下二

一級(jí)二

生成菜單是這樣。

$sql="SELECT * FROM wiki where pid=0";

取出上表 1 2 賦予 $menu[cid]; 然后在查詢出 父級(jí)id 下的 菜單!

$sql="select * from wiki where pid=$menu[cid]";

PHP遞歸樹形菜單

可以參考以下代碼,但需要把你自己的數(shù)據(jù)庫(kù)鏈接,表等改一下就可以了

html

head

link href='style.css' rel=stylesheet

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

script language="JavaScript" src="TreeMenu.js"/script

/head

body

?php

//基本變量設(shè)置

$GLOBALS["ID"] =1; //用來跟蹤下拉菜單的ID號(hào)

$layer=1; //用來跟蹤當(dāng)前菜單的級(jí)數(shù)

//連接數(shù)據(jù)庫(kù)

$Con=mysql_connect("localhost","root","1234");

mysql_select_db("wiki");

//提取一級(jí)菜單

$sql="SELECT * FROM wiki where pid=0";

$result=mysql_query($sql,$Con);

//如果一級(jí)菜單存在則開始菜單的顯示

if(mysql_num_rows($result)0) ShowTreeMenu($Con,$result,$layer,$ID);

//=============================================

//顯示樹型菜單函數(shù) ShowTreeMenu($con,$result,$layer)

//$con:數(shù)據(jù)庫(kù)連接

//$result:需要顯示的菜單記錄集

//layer:需要顯示的菜單的級(jí)數(shù)

//=============================================

function ShowTreeMenu($Con,$result,$layer)

{

//取得需要顯示的菜單的項(xiàng)目數(shù)

$numrows=mysql_num_rows($result);

//開始顯示菜單,每個(gè)子菜單都用一個(gè)表格來表示

echo "table cellpadding='0' cellspacing='0' border='0'";

for($rows=0;$rows$numrows;$rows++)

{

//將當(dāng)前菜單項(xiàng)目的內(nèi)容導(dǎo)入數(shù)組

$menu=mysql_fetch_array($result);

//提取菜單項(xiàng)目的子菜單記錄集

$sql="select * from wiki where pid=$menu[cid]";

$result_sub=mysql_query($sql,$Con);

echo "tr";

//如果該菜單項(xiàng)目有子菜單,則添加JavaScript onClick語句

if(mysql_num_rows($result_sub)0)

{

echo "td width='20'img src='folder.gif' border='0'/td";

echo "td class='Menu' onClick='javascript:ShowMenu(Menu".$GLOBALS["ID"].");'";

}

else

{

echo "td width='20'img src='file.gif' border='0'/td";

echo "td class='Menu'";

}

//如果該菜單項(xiàng)目沒有子菜單,并指定了超級(jí)連接地址,則指定為超級(jí)連接,

//否則只顯示菜單名稱

//if($menu[url]!="")

//echo "a href='$menu[cid]'$menu[name]/a";

//else

echo $menu['name'];

echo "

/td

/tr

";

//如果該菜單項(xiàng)目有子菜單,則顯示子菜單

if(mysql_num_rows($result_sub)0)

{

//指定該子菜單的ID和style,以便和onClick語句相對(duì)應(yīng)

echo "tr id=Menu".$GLOBALS["ID"]++." style='display:none'";

echo "td width='20' /td";

echo "td";

//將級(jí)數(shù)加1

$layer++;

//遞歸調(diào)用ShowTreeMenu()函數(shù),生成子菜單

ShowTreeMenu($Con,$result_sub,$layer);

//子菜單處理完成,返回到遞歸的上一層,將級(jí)數(shù)減1

$layer--;

echo "/td/tr";

}

//繼續(xù)顯示下一個(gè)菜單項(xiàng)目

}

echo "/table";

}

?

/body

/html

用php調(diào)數(shù)據(jù)庫(kù)做樹狀顯示

數(shù)據(jù)庫(kù)設(shè)計(jì)的時(shí)候,通常的做法是用父ID來解決樹狀結(jié)構(gòu),也有二叉樹等等

id ?pid category_name

然后,用遞歸就能實(shí)現(xiàn),也有引用數(shù)組的方式

?php

/**

*?此方法由@Tonton?提供

*?

*?@date?2012-12-12?

*/

function?genTree5($items)?{?

foreach?($items?as?$item)?

$items[$item['pid']]['son'][$item['id']]?=?$items[$item['id']];?

return?isset($items[0]['son'])???$items[0]['son']?:?array();?

}?

/**

*?將數(shù)據(jù)格式化成樹形結(jié)構(gòu)

*?@author?Xuefen.Tong

*?@param?array?$items

*?@return?array?

*/

function?genTree9($items)?{

$tree?=?array();?//格式化好的樹

foreach?($items?as?$item)

if?(isset($items[$item['pid']]))

$items[$item['pid']]['son'][]?=?$items[$item['id']];

else

$tree[]?=?$items[$item['id']];

return?$tree;

}

$items?=?array(

1?=?array('id'?=?1,?'pid'?=?0,?'name'?=?'江西省'),

2?=?array('id'?=?2,?'pid'?=?0,?'name'?=?'黑龍江省'),

3?=?array('id'?=?3,?'pid'?=?1,?'name'?=?'南昌市'),

4?=?array('id'?=?4,?'pid'?=?2,?'name'?=?'哈爾濱市'),

5?=?array('id'?=?5,?'pid'?=?2,?'name'?=?'雞西市'),

6?=?array('id'?=?6,?'pid'?=?4,?'name'?=?'香坊區(qū)'),

7?=?array('id'?=?7,?'pid'?=?4,?'name'?=?'南崗區(qū)'),

8?=?array('id'?=?8,?'pid'?=?6,?'name'?=?'和興路'),

9?=?array('id'?=?9,?'pid'?=?7,?'name'?=?'西大直街'),

10?=?array('id'?=?10,?'pid'?=?8,?'name'?=?'東北林業(yè)大學(xué)'),

11?=?array('id'?=?11,?'pid'?=?9,?'name'?=?'哈爾濱工業(yè)大學(xué)'),

12?=?array('id'?=?12,?'pid'?=?8,?'name'?=?'哈爾濱師范大學(xué)'),

13?=?array('id'?=?13,?'pid'?=?1,?'name'?=?'贛州市'),

14?=?array('id'?=?14,?'pid'?=?13,?'name'?=?'贛縣'),

15?=?array('id'?=?15,?'pid'?=?13,?'name'?=?'于都縣'),

16?=?array('id'?=?16,?'pid'?=?14,?'name'?=?'茅店鎮(zhèn)'),

17?=?array('id'?=?17,?'pid'?=?14,?'name'?=?'大田鄉(xiāng)'),

18?=?array('id'?=?18,?'pid'?=?16,?'name'?=?'義源村'),

19?=?array('id'?=?19,?'pid'?=?16,?'name'?=?'上壩村'),

);

echo?"pre";

print_r(genTree5($items));

print_r(genTree9($items));

?

我想用PHP生成一個(gè)家譜樹,數(shù)據(jù)庫(kù)應(yīng)該怎么設(shè)計(jì)?

一個(gè)表就夠了

id——每個(gè)人的id

fid——如果有值 就是父親的id

hid——如果有值 就是丈夫的id

wid——如果有值 就是妻子的id

其他字段:姓名 性別 出生日期 等等


網(wǎng)站欄目:php樹形菜單數(shù)據(jù)庫(kù)設(shè)計(jì) php 樹結(jié)構(gòu)
分享網(wǎng)址:http://weahome.cn/article/dojgphh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部