php mysql多重筛选,如何使用php、html、mysql构建一个多重分类选择列表

不适用javascript,完全通过php实现多级列表选择,列表数据从数据库获取

A very simple way to build and do a hierarchical html categories browser

without javascript , just using html php and mySql

/*

#

# Table structure for table 'res_cat'

#

CREATE TABLE res_cat (

ID int(32) DEFAULT '0' NOT NULL ,

ID_uname char(40) NOT NULL,

UNIQUE ID (ID)

);

#

# Dumping data for table 'res_cat'

#

INSERT INTO res_cat VALUES( '1', 'head1');

INSERT INTO res_cat VALUES( '101', 'cat11');

INSERT INTO res_cat VALUES( '102', 'cat12');

INSERT INTO res_cat VALUES( '103', 'cat13');

INSERT INTO res_cat VALUES( '10101', 'subcat111');

INSERT INTO res_cat VALUES( '10102', 'subcat112');

INSERT INTO res_cat VALUES( '10103', 'subcat113');

INSERT INTO res_cat VALUES( '1010101', 'subcat1111');

INSERT INTO res_cat VALUES( '1010102', 'subcat1112');

INSERT INTO res_cat VALUES( '1010103', 'subcat1113');

INSERT INTO res_cat VALUES( '10201', 'subcat121');

INSERT INTO res_cat VALUES( '10202', 'subcat122');

INSERT INTO res_cat VALUES( '10203', 'subcat123');

INSERT INTO res_cat VALUES( '10301', 'subcat131');

INSERT INTO res_cat VALUES( '10302', 'subcat132');

INSERT INTO res_cat VALUES( '10303', 'subcat133');

INSERT INTO res_cat VALUES( '2', 'head2');

INSERT INTO res_cat VALUES( '201', 'cat21');

INSERT INTO res_cat VALUES( '202', 'cat22');

INSERT INTO res_cat VALUES( '203', 'cat33');

etc ...

*/

$mysql_link = mysql_connect("localhost", "user", "passwd");

mysql_select_db("res_cat", $mysql_link);

echo "

" ;

function listrub ($id , $exploseID )

{

global $PHP_SELF ;

global $mysql_link ;

$maxi = ($id*100)+100 ;

$mini = $id*100 ;

$query = "SELECT * FROM res_cat where ID < $maxi and ID > $mini " ;

echo "

  1. ";

if( $mysql_result = mysql_query($query , $mysql_link) )

{

while ($row = mysql_fetch_object($mysql_result))

{

// you have to link some action on leaves of course

echo "

$row->ID_uname " ;

$testID = ($exploseID - ($exploseID %100 ))/100 ; // WARNING this is ugly .. only 3 level

if ( $testID == $row->ID || $exploseID == $row->ID)

{

listrub ($row->ID , $exploseID ) ;

}

}

}

echo "

";

}

$father =999999999; // a big number

// get the grand...grand father

if ( $ID_rub >100 )

{

$father = $ID_rub ;

while ( $father >100 ) { $father= ( $father - ( $father %100) )/100 ; }

}

else{$father= $ID_rub ;}

listrub ($father , $ID_rub ,$mysql_link ) ;

echo "";

?>

开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明如何使用php、html、mysql构建一个多重分类选择列表!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值