php+html+mysql 构建一个多重分类选择列表的解决办法

内容摘要
这篇文章主要为大家详细介绍了php+html+mysql 构建一个多重分类选择列表的简单示例,具有一定的参考价值,可以用来参考一下。

下面为各位大家介绍一下 php+html+mysql 构建一
文章正文

这篇文章主要为大家详细介绍了php+html+mysql 构建一个多重分类选择列表的简单示例,具有一定的参考价值,可以用来参考一下。

下面为各位大家介绍一下 php+html+mysql 构建一个多重分类选择列表不适用javascript,完全通过php实现多级列表选择,列表数据从数据库获取,对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:

/**
 * 多级列表选择,列表数据从数据库获取
 *
 * @param 
 * @arrange (www.idcnote.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>";

/***   来自php教程(www.idcnote.com)   ***/

注:关于php+html+mysql 构建一个多重分类选择列表的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!