数据库代码:
mysql> desc category;
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| pid | int(11) | NO | | NULL | |
| catename | varchar(20) | NO | | NULL | |
| createtime | varchar(10) | NO | | NULL | |
+------------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
mysql> select * from category;
+----+-----+--------------+------------+
| id | pid | catename | createtime |
+----+-----+--------------+------------+
| 1 | 0 | beijing | 1493778388 |
| 2 | 0 | shanghai | 1493778388 |
| 3 | 1 | chaoyang | 1493778476 |
| 4 | 1 | haidian | 1493778476 |
| 5 | 3 | wangjing | 1493778533 |
| 6 | 3 | jiuxianqiao | 1493778533 |
| 7 | 4 | zhongguancun | 1493778575 |
| 8 | 2 | xunhui | 1493778633 |
| 9 | 2 | changning | 1493778633 |
| 10 | 8 | jiaotong | 1493778685 |
+----+-----+--------------+------------+
10 rows in set (0.00 sec)
代码:
conn.php:
<?php
$conn = mysql_connect('localhost', 'root', 'root');
if($conn) {
mysql_select_db("yii", $conn);
} else {
die('database is connect false.');
}
index.php:
<?php
include_once('conn.php');
function get_str($id = 0) {
global $str;
$sql = "select * from category where pid= $id";
$result = mysql_query($sql);
if($result && mysql_affected_rows()){
$str .= PHP_EOL . '<ul>' . PHP_EOL;
while ($row = mysql_fetch_array($result)) {
$str .= "<li>" . $row['id'] . "--" . $row['catename'] . "</li>" . PHP_EOL;
get_str($row['id']);
}
$str .= '</ul>' . PHP_EOL;
}
return $str;
}
function get_array($id=0){
$sql = "select * from category where pid= $id";
$result = mysql_query($sql);
$arr = array();
if($result && mysql_affected_rows()){
while($rows=mysql_fetch_assoc($result)){
$rows['list'] = get_array($rows['id']);
$arr[] = $rows;
}
return $arr;
}
}
echo get_str(0);
echo "<hr/>";
$list = get_array(0);
echo '<pre>';
print_r($list);
echo '</pre>';
结果:
get_str:
get_array:
Array
(
[0] => Array
(
[id] => 1
[pid] => 0
[catename] => beijing
[createtime] => 1493778388
[list] => Array
(
[0] => Array
(
[id] => 3
[pid] => 1
[catename] => chaoyang
[createtime] => 1493778476
[list] => Array
(
[0] => Array
(
[id] => 5
[pid] => 3
[catename] => wangjing
[createtime] => 1493778533
[list] =>
)
[1] => Array
(
[id] => 6
[pid] => 3
[catename] => jiuxianqiao
[createtime] => 1493778533
[list] =>
)
)
)
[1] => Array
(
[id] => 4
[pid] => 1
[catename] => haidian
[createtime] => 1493778476
[list] => Array
(
[0] => Array
(
[id] => 7
[pid] => 4
[catename] => zhongguancun
[createtime] => 1493778575
[list] =>
)
)
)
)
)
[1] => Array
(
[id] => 2
[pid] => 0
[catename] => shanghai
[createtime] => 1493778388
[list] => Array
(
[0] => Array
(
[id] => 8
[pid] => 2
[catename] => xunhui
[createtime] => 1493778633
[list] => Array
(
[0] => Array
(
[id] => 10
[pid] => 8
[catename] => jiaotong
[createtime] => 1493778685
[list] =>
)
)
)
[1] => Array
(
[id] => 9
[pid] => 2
[catename] => changning
[createtime] => 1493778633
[list] =>
)
)
)
)