php concat,PHP使用concat函数的无限分类 | 学步园

比起以前的递归函数,使用mysql的contact函数非常方便的实现了php的无限分类

0_1321839103C4HJ.gif

0_1321839116WmDl.gif

--

-- Table structure for table `category`

--

CREATE TABLE `category` (

`id` int(11) NOT NULL auto_increment,

`catpath` varchar(255) default NULL,

`name` varchar(255) default NULL,

PRIMARY KEY (`id`)

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

--

-- Dumping data for table `category`

--

INSERT INTO `category` VALUES (1, '0', '网站首页');

INSERT INTO `category` VALUES (2, '0-1', 'Linux OS');

INSERT INTO `category` VALUES (3, '0-1', 'Apache服务器');

INSERT INTO `category` VALUES (4, '0-1', 'MySQL数据库');

INSERT INTO `category` VALUES (5, '0-1', 'PHP脚本语言');

INSERT INTO `category` VALUES (6, '0-1-2', 'Linux 系统教程');

INSERT INTO `category` VALUES (7, '0-1-2', 'Linux 网络技术');

INSERT INTO `category` VALUES (8, '0-1-2', 'Linux 安全基础');

INSERT INTO `category` VALUES (9, '0-1-2-7', 'Linux LAMP');

INSERT INTO `category` VALUES (10, '0-1-3-10', 'apache Server');

php代码如下

header("Content-Type: text/html; charset=UTF-8");

/**

* 通用的树型类,可以生成任何树型结构

*/

$conn = mysql_connect('localhost', 'root', '');

mysql_select_db('test', $conn);

mysql_query('set names UTF8');

$sql = "select id,concat(catpath,'-',id) as abspath,name from category order by abspath";

$query = mysql_query($sql);

$option = '';

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

/**

* 第一种展示方法

$space = str_repeat ( '    ', count ( explode ( '-', $row ['abspath'] ) ) - 1 );

echo $space . $row ['name'] . '
';

/**

* 第二种展示方法

*/

$space = str_repeat('    ',

count(explode('-', $row['abspath'])) - 1);

$option .= '' . $space . $row['name'] .

'';

}

echo '' . $option . '';?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值