php常规无限极分类
2014-02-17 10:43
537 查看
数据库
CREATE TABLE `infinite_classify` (
`id` smallint(5) unsigned NOT NULL
AUTO_INCREMENT,
`pid` smallint(6) NOT NULL,
`title` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
概览
源码实现
//字符串的输出
function get_str($id = 0) {
global
$str;
$sql =
"select id,title from infinite_classify where pid=
$id";
$result =
mysql_query($sql);//查询pid的子类的分类
if($result
&& mysql_affected_rows()){//如果有子类
$str .= '
';
while ($row = mysql_fetch_array($result)) { //循环记录集
$str .= "
" . $row['id'] . "--" . $row['title'] . "
"; //构建字符串
get_str($row['id']); //调用get_str(),将记录集中的id参数传入函数中,继续查询下级
}
$str .= '
';
}
return
$str;
}
//将无限极分类形成数组
function get_array($id=0){
$sql =
"select id,title from infinite_classify where pid= $id";
$result =
mysql_query($sql);//查询子类
$arr =
array();
if($result
&& mysql_affected_rows()){//如果有子类
while($rows=mysql_fetch_assoc($result)){ //循环记录集
$rows['list'] = get_array($rows['id']); //调用函数,传入参数,继续查询下级
$arr[] = $rows; //组合数组
}
return $arr;
}
}
mysql_connect('localhost','root','910729') or die('链接数据库失败');
mysql_set_charset('utf8');//设定mysql客户机(php)与mysql服务器之间通信的编码
mysql_select_db('test');
//$result = mysql_query('select * from infinite_classify');
//$arr=array();
//$i=0;
//while ($val=mysql_fetch_assoc($result)){
//
$arr[$i]=$val;
//
$i++;
//}
//echo get_str();
echo '
CREATE TABLE `infinite_classify` (
`id` smallint(5) unsigned NOT NULL
AUTO_INCREMENT,
`pid` smallint(6) NOT NULL,
`title` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
概览
源码实现
//字符串的输出
function get_str($id = 0) {
global
$str;
$sql =
"select id,title from infinite_classify where pid=
$id";
$result =
mysql_query($sql);//查询pid的子类的分类
if($result
&& mysql_affected_rows()){//如果有子类
$str .= '
';
while ($row = mysql_fetch_array($result)) { //循环记录集
$str .= "
" . $row['id'] . "--" . $row['title'] . "
"; //构建字符串
get_str($row['id']); //调用get_str(),将记录集中的id参数传入函数中,继续查询下级
}
$str .= '
';
}
return
$str;
}
//将无限极分类形成数组
function get_array($id=0){
$sql =
"select id,title from infinite_classify where pid= $id";
$result =
mysql_query($sql);//查询子类
$arr =
array();
if($result
&& mysql_affected_rows()){//如果有子类
while($rows=mysql_fetch_assoc($result)){ //循环记录集
$rows['list'] = get_array($rows['id']); //调用函数,传入参数,继续查询下级
$arr[] = $rows; //组合数组
}
return $arr;
}
}
mysql_connect('localhost','root','910729') or die('链接数据库失败');
mysql_set_charset('utf8');//设定mysql客户机(php)与mysql服务器之间通信的编码
mysql_select_db('test');
//$result = mysql_query('select * from infinite_classify');
//$arr=array();
//$i=0;
//while ($val=mysql_fetch_assoc($result)){
//
$arr[$i]=$val;
//
$i++;
//}
//echo get_str();
echo '
'; print_r(get_array()); 数组概览 字符串概览