原文地址:http://www.php.cn/code/3966.html
fenlei.php
<?php class fenlei { public $db; //构造函数,构造函数没有返回值 public function __construct($dbname,$host='localhost',$user='root',$pass='root') { $dsn="mysql:host={$host};dbname={$dbname}"; try{ $this->db=new PDO($dsn,$user,$pass); }catch(PDOException $e){ die("错误:".$e->getMessage()); } } public function getlist($pid=0,&$result=array(),$space=0) { $space=$space+2; $sql="select * from goods where pid={$pid}"; $res=$this->db->query($sql); while($row=$res->fetch(PDO :: FETCH_ASSOC)){ $row['name']=str_repeat(' ',$space).'|--'.$row['name']; $result[]=$row; $this->getlist($row['id'],$result,$space); } return $result; } function displayCate($pid=0,$selected=1){ $rs=$this->getList($pid); $str='<select>'; foreach ($rs as $v){ //$selected为默认选中项的id if ($v['id'] == $selected){ $str.="<option selected='selected'>{$v['name']}</option>"; }else{ $str.="<option>{$v['name']}</option>"; } } $str.='</select>'; return $str; } } $fl=new fenlei('test'); echo $fl->displayCate();
效果图: