//////////////
//////無限に機密化されたデータベースの設計と例
//////////////
mysql> データベース db_kind; を作成します
クエリは OK、1 行が影響を受けました
mysql> db_kind; を使用します。
データベースが変更されました
mysql> テーブル tb_kind( ;
-> id int が null ではない auto_increment 主キー、
->pid 整数、
-> パス varchar(200)
->);
クエリは OK、影響を受ける行は 0 つあります
mysql> tb_kind 値(null,"news",0,0);
クエリは OK、1 行が影響を受けました
mysql> tb_kind 値に挿入(null,"video",0,0);
クエリは OK、1 行が影響を受けました
mysql> tb_kind に挿入 value(null,"picture",0,0);
クエリは OK、1 行が影響を受けました
mysql> tb_kind 値に挿入(null,"ブログ",0,0);
クエリは OK、1 行が影響を受けました
mysql> tb_kind 値に挿入(null,"スポーツ ニュース",1,"0-1");
クエリは OK、1 行が影響を受けました
mysql> tb_kind 値に挿入(null,"エンタメニュース",1,"0-1");
クエリは OK、1 行が影響を受けました
mysql> tb_kind 値に挿入(null,"Financial News",1,"0-1");
クエリは OK、1 行が影響を受けました
mysql>select * from db_kind;
エラー 1146: テーブル 'db_kind.db_kind' が存在しません
mysql>select * from tb
_種類;
+-----+----------+-----+-----+
|ID パス |
+-----+----------+-----+-----+
| 0 | ニュース |
| 2 | 0 |
| 3 | 写真 0 |
| 0 | 0 |
| 5 | スポーツニュース 1 |
| 6 | エンターテイメントニュース 1 |
| 7 | 金融ニュース 1 |
+-----+----------+-----+-----+
7列セット
mysql> tb_kind に挿入 value(null,"バスケットボール ニュース",5,"0-1-5");
クエリは OK、1 行が影響を受けました
mysql> tb_kind 値に挿入(null,"フットボール ニュース",5,"0-1-5");
クエリは OK、1 行が影響を受けました
mysql>select * from tb_kind;
+-----+----------+-----+----------+
|ID パス |
+-----+----------+-----+----------+
| 0 | ニュース |
| 2 | 0 |
| 3 | 写真 0 |
| 0 | 0 |
| 5 | スポーツニュース 1 |
| 6 | エンターテイメントニュース 1 |
| 7 | 金融ニュース 1 |
| 8 | バスケットボールニュース 5 |
| 9 | サッカーニュース 5 |
+-----+----------+-----+----------+
9行セット
mysql> tb_kind 値に挿入(null,"NBA",8,"0-1-5-8");
クエリは OK、1 行が影響を受けました
mysql> tb_kind 値に挿入(null,"CBA",8,"0-1-5-8");
クエリは OK、1 行が影響を受けました
mysql>select * from tb_kind;
+-----+----------+-----+----------+
|ID パス |
+-----+----------+-----+----------+
| 0 | ニュース |
| 2 | 0 |
| 3 | 写真 0 |
| 0 | 0 |
| 5 | スポーツニュース 1 |
| 6 | エンターテイメントニュース 1 |
| 7 | 金融ニュース 1 |
| 8 | バスケットボールニュース 5 |
| 9 | サッカーニュース 5 |
| 10 | NBA 8 |
| 11 | 0-1-5-8 |
+-----+----------+-----+----------+
11 行セット
mysql> select concat(path,"-",id) from tb_kind;
+---------------------+
| concat(パス,"-",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 行セット
mysql>select concat(path,"-",id) from tb_kind;
+---------------------+
| concat(パス,"-",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 行セット
mysql> select concat(path,"-",id) as abs from tb_kind order by abs.path;
エラー 1054 : 'order 句' に不明な列 'abs.path' があります
mysql> select concat(path,"-",id) as abs from tb_kind order by 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 行セット
mysql> select concat(path,"-",id) as,id,name,path abs from tb_kind order by abs;
エラー 1064 : SQL 構文にエラーがあります。 MySQL サーバーのバージョンに対応するマニュアルで、1 行目の「id,name,path abs from tb_kind order by abs」付近で使用する正しい構文を確認してください
mysql> concat(path,"-",id) を abs として選択します
tb_kind からの id、pname、パス abs、abs 順;
+------------+----+----------+-----------+
|腹筋 | ID |名前 |腹筋 |
+------------+----+----------+-----------+
| 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 行セット
mysql>
php处処理分类源码
無标题文档
$conn=mysql_connect("localhost","root","root");
mysql_select_db("db_kind");
mysql_query("セット名 utf8");
$sql="abspath による tb_kind の順序から abspath,id,pname,path として concat(path,'-',id) を選択します";
$rs=mysql_query($sql);
while($result=mysql_fetch_assoc($rs)){
$num=count(explode("-",$result[パス]))-1;
$new_str=str_repeat("---",$num);
echo $new_str.$result[pname];
echo " ";
}
$str=str_repeat("=,10);
エコー $str;
$num=count(explode("-","0-1-5-8"))-1;
$num をエコーします。
?>
ボディ>
|