php多级分类数据库,php多级分类数据库查询

php多级分类

mysql_query("set character set gb2312");

成都创新互联是一家专注于网站设计、网站建设与策划设计,长清网站建设哪家好?成都创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:长清等地区。长清做网站价格咨询:13518219792

$sql='select distinct sy from menu order by sy';

$res=mysql_query($sql);

$bysy=array();

while($row = mysql_fetch_row($res)) $bysy[]=$row[0];

mysql_free_result($res);

foreach ($bysy as $m){

echo 'pstrong'.$m.'/strongbr /';

$sql="select distinct name from menu where sy='$m' order by name";

$res=mysql_query($sql);

$bygs=array();

while($row=mysql_fetch_row($res)) $bygs[]=$row[0];

mysql_free_result($res);

foreach($bygs as $n){

echo ' em'.$n.'/embr /';

$sql="select id,title from menu where sy='$m' and name='$n'";

$res=mysql_query($sql);

while($row=mysql_fetch_row($res)){

echo ' a href="news.php?id='.$row[0].'"'.$row[1].'/abr /';

}

mysql_free_result($res);

}

echo '/p';

}

mysql_close();

PHP MYSQL 的多级分类树结构

打开数据库那就不写了。

前几天刚写了一个。你看下

/* 表结构

CREATE TABLE `lh_categroy` (

`id` int(10) NOT NULL auto_increment,

`parentid` int(6) NOT NULL,

`name` varchar(255) NOT NULL,

`keyword` varchar(255) NOT NULL COMMENT '关键字',

`des` varchar(255) NOT NULL COMMENT '描述',

PRIMARY KEY  (`id`),

UNIQUE KEY `name` (`name`)

) ENGINE=MyISAM AUTO_INCREMENT=44 DEFAULT CHARSET=utf8;

*/

/**

* 获得所有栏目排序后的列表

* @return array

*/

function getAllOrderColumns($id = 0) {

global $columns;

$result = array();

if ($id) $result[$id] = $columns[$id];

foreach ($columns as $column) {

if ($column['parentid'] == $id) {

$column['level'] = 0;

$result[$column['id']] = $column;

getColumns($columns, $column['id'], $result, 1);

}

}

return $result;

}

function getColumns($columns, $cid, $result, $l = 1) {

foreach ($columns as $c) {

if ($c['parentid'] == $cid) {

$c['level'] = $l;

$result[$c['id']] = $c;

getColumns($columns, $c['id'], $result, $l + 1);

}

}

}

$sql = 'select * from lh_categroy';

$query = mysql_query($sql);

while($row = mysql_fetch_assoc($query)){

$columns[]=$row;

}

$fenlei = '';

$fenlei =  'select name="cid" style="width:200px; height:25px;"

option value="0"请选择分类/option';

foreach(getAllOrderColumns() as $v){

$v[name] = $v[level] ? ($v[level]==1 ? 'nbsp;nbsp;|-'.$v[name]:'nbsp;nbsp;nbsp;|-'.$v[name]) : $v[name];

$fenlei .= "option value='$v[id]'$v[name]/option";

}

$fenlei .= '/select';

echo $fenlei;

在php中有张数据表 如果一个字段的值分多级分类,怎么才能遍历查询出?分开显示到模板?

/**

*   如果出现多级分类且在一张表中, 此时你需要增添字段确定分类间的关系

*   通常做法是在数据表中加一个字段如 'pid', 如果 id == pid 即判定为父子关系

*/

// 如这张表

// 如果需要找出中国下面的分类,只需要找出所有 pid = 1 即可

SELECT * FROM table WHERE pid = 1;


网页名称:php多级分类数据库,php多级分类数据库查询
转载注明:http://pwwzsj.com/article/dssiocp.html