激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 比較簡單實用的PHP無限分類源碼分享(思路不錯)

比較簡單實用的PHP無限分類源碼分享(思路不錯)

2019-12-14 11:56PHP教程網 PHP教程

關于PHP的無限分類代碼,網上已經有很多了,講解的也很到位,在這里我分享一下我用著很順手的一個

下面一段代碼是創建相應數據庫的sql代碼:

復制代碼代碼如下:


 //////////////
   //////無限分類的數據庫設計及樣例
   //////////////
   mysql> create database db_kind;
   Query OK, 1 row affected

   mysql> use db_kind;
   Database changed
   mysql> create table tb_kind(
     -> id int not null auto_increment primary key,
     -> pid int,
     -> path varchar(200)
     -> );
 Query OK, 0 rows affected

 mysql> insert into tb_kind values(null,"新聞",0,0);
 Query OK, 1 row affected

 mysql> insert into tb_kind values(null,"視頻",0,0);
 Query OK, 1 row affected

 mysql> insert into tb_kind values(null,"圖片",0,0);
 Query OK, 1 row affected

 mysql> insert into tb_kind values(null,"博客",0,0);
 Query OK, 1 row affected

 mysql> insert into tb_kind values(null,"體育新聞",1,"0-1");
 Query OK, 1 row affected

 mysql> insert into tb_kind values(null,"娛樂新聞",1,"0-1");
 Query OK, 1 row affected

 mysql> insert into tb_kind values(null,"財經新聞",1,"0-1");
 Query OK, 1 row affected

 mysql> select * from db_kind;
 ERROR 1146 : Table 'db_kind.db_kind' doesnot exist
 mysql> select * from tb
 _kind;
 +----+----------+-----+------+
 | id | pname    | pid | path |
 +----+----------+-----+------+
 |  1 | 新聞     |   0 | 0    |
 |  2 | 視頻     |   0 | 0    |
 |  3 | 圖片     |   0 | 0    |
 |  4 | 博客     |   0 | 0    |
 |  5 | 體育新聞 |   1 | 0-1  |
 |  6 | 娛樂新聞 |   1 | 0-1  |
 |  7 | 財經新聞 |   1 | 0-1  |
 +----+----------+-----+------+
 7 rows in set
 mysql> insert into tb_kind values(null,"籃球新聞",5,"0-1-5");
 Query OK, 1 row affected

 mysql> insert into tb_kind values(null,"足球新聞",5,"0-1-5");
 Query OK, 1 row affected

 mysql> select * from tb_kind;
 +----+----------+-----+-------+
 | id | pname    | pid | path  |
 +----+----------+-----+-------+
 |  1 | 新聞     |   0 | 0     |
 |  2 | 視頻     |   0 | 0     |
 |  3 | 圖片     |   0 | 0     |
 |  4 | 博客     |   0 | 0     |
 |  5 | 體育新聞 |   1 | 0-1   |
 |  6 | 娛樂新聞 |   1 | 0-1   |
 |  7 | 財經新聞 |   1 | 0-1   |
 |  8 | 籃球新聞 |   5 | 0-1-5 |
 |  9 | 足球新聞 |   5 | 0-1-5 |
 +----+----------+-----+-------+
 9 rows in set

 mysql> insert into tb_kind values(null,"NBA",8,"0-1-5-8");
 Query OK, 1 row affected

 mysql> insert into tb_kind values(null,"CBA",8,"0-1-5-8");
 Query OK, 1 row affected

 mysql> select * from tb_kind;
 +----+----------+-----+---------+
 | id | pname    | pid | path    |
 +----+----------+-----+---------+
 |  1 | 新聞     |   0 | 0       |
 |  2 | 視頻     |   0 | 0       |
 |  3 | 圖片     |   0 | 0       |
 |  4 | 博客     |   0 | 0       |
 |  5 | 體育新聞 |   1 | 0-1     |
 |  6 | 娛樂新聞 |   1 | 0-1     |
 |  7 | 財經新聞 |   1 | 0-1     |
 |  8 | 籃球新聞 |   5 | 0-1-5   |
 |  9 | 足球新聞 |   5 | 0-1-5   |
 | 10 | NBA      |   8 | 0-1-5-8 |
 | 11 | CBA      |   8 | 0-1-5-8 |
 +----+----------+-----+---------+
 11 rows in set

 mysql> select concat(path,"-",id) from tb_kind;
 +---------------------+
 | concat(path,"-",id) |
 +---------------------+
 | 0-1                 |
 | 0-2                 |
 | 0-3                 |
 | 0-4                 |
 | 0-1-5               |
 | 0-1-6               |
 | 0-1-7               |
 | 0-1-5-8             |
 | 0-1-5-9             |
 | 0-1-5-8-10          |
 | 0-1-5-8-11          |
 +---------------------+
 11 rows in set

 mysql> select concat(path,"-",id) from tb_kind;
 +---------------------+
 | concat(path,"-",id) |
 +---------------------+
 | 0-1                 |
 | 0-2                 |
 | 0-3                 |
 | 0-4                 |
 | 0-1-5               |
 | 0-1-6               |
 | 0-1-7               |
 | 0-1-5-8             |
 | 0-1-5-9             |
 | 0-1-5-8-10          |
 | 0-1-5-8-11          |
 +---------------------+
 11 rows in set

 mysql> select concat(path,"-",id) as abs from tb_kind order by abs.path;
 ERROR 1054 : Unknown column 'abs.path' in 'order clause'
 mysql> select concat(path,"-",id) as abs from tb_kind order by abs

 +------------+
 | abs        |
 +------------+
 | 0-1        |
 | 0-1-5      |
 | 0-1-5-8    |
 | 0-1-5-8-10 |
 | 0-1-5-8-11 |
 | 0-1-5-9    |
 | 0-1-6      |
 | 0-1-7      |
 | 0-2        |
 | 0-3        |
 | 0-4        |
 +------------+
 11 rows in set
 mysql> select concat(path,"-",id) as,id,name,path abs from tb_kind order by abs;
 ERROR 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id,name,path abs from tb_kind order by abs' at line 1
 mysql> select concat(path,"-",id) as abs,
 id,pname,path abs from tb_kind order by abs;
 +------------+----+----------+---------+
 | abs        | id | pname    | abs     |
 +------------+----+----------+---------+
 | 0-1        |  1 | 新聞     | 0       |
 | 0-1-5      |  5 | 體育新聞 | 0-1     |
 | 0-1-5-8    |  8 | 籃球新聞 | 0-1-5   |
 | 0-1-5-8-10 | 10 | NBA      | 0-1-5-8 |
 | 0-1-5-8-11 | 11 | CBA      | 0-1-5-8 |
 | 0-1-5-9    |  9 | 足球新聞 | 0-1-5   |
 | 0-1-6      |  6 | 娛樂新聞 | 0-1     |
 | 0-1-7      |  7 | 財經新聞 | 0-1     |
 | 0-2        |  2 | 視頻     | 0       |
 | 0-3        |  3 | 圖片     | 0       |
 | 0-4        |  4 | 博客     | 0       |
 +------------+----+----------+---------+
 11 rows in set
 mysql>


下面是php源文件: 

復制代碼代碼如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>無標題文檔</title> 
</head> 
<body> 
<!--顯示結果 
新聞 
體育新聞 
籃球新聞 
NBA 
CBA 
足球新聞 
娛樂新聞 
財經新聞 
視頻 
圖片 
博客 
--> 
<? 
$conn=mysql_connect("localhost","root","root"); 
mysql_select_db("db_kind"); 
mysql_query("set names utf8"); 
$sql="select concat(path,'-',id) as abspath,id,pname,path from tb_kind order by abspath"; 
$rs=mysql_query($sql); 
while($result=mysql_fetch_assoc($rs)){ 
$num=count(explode("-",$result[path]))-1; 
$new_str=str_repeat("---",$num); 
echo $new_str.$result[pname]; 
echo "<br>"; 

$str=str_repeat("=",10); 
echo $str; 
$num=count(explode("-","0-1-5-8"))-1; 
echo $num; 
?> 
</body> 
</html> 


上面的代碼中其實中間有空格的輸入效果還是非常不錯的,請大家本地測試。因編輯器問題導致排版混亂。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品自拍99 | 666sao| www国产免费 | 日韩电影一区二区 | 久国产精品视频 | 欧美成人精品h版在线观看 久久久久久三区 | av不卡毛片| 欧美雌雄另类xxxxx | 国产91在线播放九色 | 免费毛片免费看 | 日本在线视频免费观看 | 精国品产一区二区三区有限公司 | 国产又粗又爽又深的免费视频 | 四季久久免费一区二区三区四区 | 99最新地址| 免费一区区三区四区 | av成人在线播放 | 久国产精品视频 | 色播视频网站 | 亚洲一区久久 | 久久艹逼 | 天天看夜夜爽 | 性日本xxx | 日韩激情 | 爱逼爱操综合网 | 国产精品高清一区 | 毛片午夜| 成人羞羞国产免费游戏 | 成品片a免费直接观看 | 亚洲白嫩在线观看 | 日本一区二区三区精品 | 精品成人久久久 | 欧美人与性禽动交精品 | 大胆在线日本aⅴ免费视频 永久免费毛片 | 九九热在线精品视频 | 蜜桃一本色道久久综合亚洲精品冫 | 日本在线精品视频 | 成人毛片av在线 | 蜜桃精品视频在线观看 | 99国产精品白浆在线观看免费 | 亚洲第一成网站 |