首页 > 开发 > PHP > 正文

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

2024-05-04 23:40:09
字体:
来源:转载
供稿:网友

这篇文章主要介绍了php无限分类使用concat是如何实现的,需要的朋友可以参考下

一、数据库设计

 

  1. --  
  2. -- Table structure for table `category`  
  3. --  
  4.  
  5. CREATE TABLE `category` (  
  6. `id` int(11) NOT NULL auto_increment,  
  7. `catpath` varchar(255) default NULL,  
  8. `name` varchar(255) default NULL,  
  9. PRIMARY KEY (`id`)  
  10. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;  
  11.  
  12. --  
  13. -- Dumping data for table `category`  
  14. --  
  15.  
  16. INSERT INTO `category` VALUES (1, '0''网站首页');  
  17. INSERT INTO `category` VALUES (2, '0-1''Linux OS');  
  18. INSERT INTO `category` VALUES (3, '0-1''Apache服务器');  
  19. INSERT INTO `category` VALUES (4, '0-1''MySQL数据库');  
  20. INSERT INTO `category` VALUES (5, '0-1''PHP脚本语言');  
  21. INSERT INTO `category` VALUES (6, '0-1-2''Linux 系统教程');  
  22. INSERT INTO `category` VALUES (7, '0-1-2''Linux 网络技术');  
  23. INSERT INTO `category` VALUES (8, '0-1-2''Linux 安全基础');  
  24. INSERT INTO `category` VALUES (9, '0-1-2-7''Linux LAMP');  
  25. INSERT INTO `category` VALUES (10, '0-1-3-10''apache Server');  

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

二、PHP代码实现

 

 
  1. <?  
  2. $conn = mysql_connect ( 'localhost''root''root' );  
  3. mysql_select_db ( 'test', $conn );  
  4. mysql_query ( 'set names UTF8' );  
  5. $sql = "select id,concat(catpath,'-',id) as abspath,name from category order by abspath";  
  6. $query = mysql_query ( $sql );  
  7. while ( $row = mysql_fetch_array ( $query ) )  
  8. {  
  9. //第一种展示方法  
  10. //$space = str_repeat ( '', count ( explode ( '-', $row ['abspath'] ) ) - 1 );  
  11. //echo $space . $row ['name'] . '<br>';*/  
  12.  
  13. //第二种展示方法  
  14. $space = str_repeat ( '', count ( explode ( '-', $row ['abspath'] ) ) - 1 );  
  15. $option .= '<option value="' . $row ['id'] . '">' . $space . $row ['name'] . '</option>';  
  16. }  
  17. echo '<select name="opt">' . $option . '</select>';  
  18. ?> 

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

 

 
  1. select concat('颜','培','攀'
  2. select `id`,`name`,concat(`id`,'-',`name`) as iname 

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


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表