原文地址: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();
效果图: