php 无极分类(递归)实现代码,需要的朋友可以参考下。
复制代码 代码如下: <?php $conn=mysql_connect("localhost","root","myoa888"); mysql_select_db("lost63",$conn) or die("select db error"); $sql[]="Create TABLE `lost63`.`dd_book_class` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `classname` VARCHAR( 50 ) NOT NULL , `classid` INT NOT NULL )"; $sql[]="insert `dd_book_class` (classname,classid) values ('小说',0)"; $sql[]="insert `dd_book_class` (classname,classid) values ('文艺',0)"; $sql[]="insert `dd_book_class` (classname,classid) values ('青春',0)"; $sql[]="insert `dd_book_class` (classname,classid) values ('励志/成功',0)"; $sql[]="insert `dd_book_class` (classname,classid) values ('少儿',0)"; $sql[]="insert `dd_book_class` (classname,classid) values ('悬疑',1)"; $sql[]="insert `dd_book_class` (classname,classid) values ('言情',1)"; $sql[]="insert `dd_book_class` (classname,classid) values ('职场',1)"; $sql[]="insert `dd_book_class` (classname,classid) values ('文学',2)"; $sql[]="insert `dd_book_class` (classname,classid) values ('科普',5)"; //print_r($sql); /* -- insert test data -- */ foreach($sql as $value){ mysql_query($value) or die("insert data error"); }
$class_arr=array(); $recordset=mysql_query("select * from `dd_book_class`"); while($row=mysql_fetch_array($recordset)){ $class_arr[]=array($row['id'],$row['classname'],$row['classid']); } function classtree($n,$id){ global $class_arr; $n = str_pad('',$n,'-',STR_PAD_RIGHT); $n = str_replace("-"," ",$n); for($i=0;$i<count($class_arr);$i++){ if($class_arr[$i][2]==$id){ echo $n.'┠<a href="?class='.$class_arr[$i][0].'">'.$class_arr[$i] [1].'</a><br>'; classtree($n+1,$class_arr[$i][0]); } } } classtree(0,0); ?>
|