php无限分类使用concat如何实现

一、数据库设计

rush:sql;"> -- -- 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,'Apache服务器');
INSERT INTO category VALUES (4,'MysqL数据库');
INSERT INTO category VALUES (5,'PHP脚本语言');
INSERT INTO category VALUES (6,'0-1-2','Linux 系统教程');
INSERT INTO category VALUES (7,'Linux 网络技术');
INSERT INTO category VALUES (8,'Linux 安全基础');
INSERT INTO category VALUES (9,'0-1-2-7','Linux LAMP');
INSERT INTO category VALUES (10,'0-1-3-10','apache Server');

这里说明下,catpath的-链接符号不是固定的,可以选择,;等特殊符号。

二、PHP代码实现

rush:PHP;"> MysqL_connect ( 'localhost','root','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 ); while ( $row = MysqL_fetch_array ( $query ) ) { //第一种展示方法 //$space = str_repeat ( '',count ( explode ( '-',$row ['abspath'] ) ) - 1 ); //echo $space . $row ['name'] . '
';*/

//第二种展示方法
$space = str_repeat ( '',$row ['abspath'] ) ) - 1 );
$option .= '<option value="' . $row ['id'] . '">' . $space . $row ['name'] . '';
}
echo '<select name="opt">' . $option . '';
?>

MysqL concat函数可以连接一个或者多个字符串

rush:sql;"> select concat('颜','培','攀') select `id`,`name`,concat(`id`,`name`) as iname

以上就是本文的全部内容,介绍了PHP使用concat实现无线分类,希望对大家的学习有所帮助。

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...