这篇文章主要为大家详细介绍了php+html+mysql 构建一个多重分类选择列表的简单示例,具有一定的参考价值,可以用来参考一下。
下面为各位大家介绍一下 php+html+mysql 构建一个多重分类选择列表
/**
* 多级列表选择,列表数据从数据库获取
*
* @param
* @arrange (512.笔记) www.q1010.com
#
# 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 "<html><body>" ;
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 "<ol>";
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 "<li> <a href='$PHP_SELF?ID_rub=$row->ID' > $row->ID_uname </a> </li> " ;
$testID = ($exploseID - ($exploseID %100 ))/100 ; // WARNING this is ugly .. only 3 level
if ( $testID == $row->ID || $exploseID == $row->ID)
{
listrub ($row->ID , $exploseID ) ;
}
}
}
echo "</ol>";
}
$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 "</body></html>";
/*** 来自四海网(www.q1010.com) ***/
本文来自:http://www.q1010.com/173/425-0.html
注:关于php+html+mysql 构建一个多重分类选择列表的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:分类
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。