php无限分类使用concat如何实现 |
|
一、数据库设计 -- -- 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); 这里说明下,catpath的-链接符号不是固定的,可以选择,;等特殊符号 。 二、PHP代码实现
<?
$conn = 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] . <br>;*/
//第二种展示方法
$space = str_repeat ( , count ( explode ( -, $row [abspath] ) ) - 1 );
$option .= <option value=" . $row [id] . "> . $space . $row [name] . </option>;
}
echo <select name="opt"> . $option . </select>;
?>
MySQL concat函数可以连接一个或者多个字符串 select concat(颜,培,攀) select `id`,`name`,concat(`id`,-,`name`) as iname 以上就是本文的全部内容,介绍了php使用concat实现无线分类,希望对大家的学习有所帮助 。 |