首页 >后端开发 >PHP问题 >php如何实现分类

php如何实现分类

藏色散人
藏色散人原创
2020-11-24 09:09:523420浏览

php实现分类的方法:首先建立测试数据库;然后插入测试数据;最后通过递归输出分类即可,代码如“for ($i = 0; $i < count($arr); $i++) {if ($arr[$i][1] == $fid) {...}}”。

php如何实现分类

推荐:《PHP视频教程

本教程操作环境:windows7系统、PHP5.6版,该方法适用于所有品牌电脑。

实现无限分类

第一步:建立测试数据库

CREATE TABLE `category` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`fid` smallint(5) unsigned NOT NULL default &#39;0&#39;,
`value` varchar(50) NOT NULL default &#39;&#39;,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

第二步:插入测试数据

INSERT INTO `category` ( `fid`, `value`) VALUES
(1,&#39;a&#39;),
(1,&#39;b&#39;),
(2,&#39;c&#39;),
(2,&#39;d&#39;),
(4,&#39;e&#39;)

第三步:递归输出分类

  
    $conn = mysqli_connect("localhost", "root", "1234", 'tp51');
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }
    mysqli_set_charset($conn, "utf8");
    $sql = "SELECT * FROM category";
    $res = $conn->query($sql);
    if ($res->num_rows > 0) {
        while ($row = $res->fetch_assoc()) {
            $arr[] = array($row["id"],$row["fid"],$row["value"]);
        }
    } else {
        echo "0 结果";
    }
    mysqli_close($conn);
    getCate(1);
    function getCate($fid = 0)
    {
        global $arr;
        for ($i = 0; $i < count($arr); $i++) {
            if ($arr[$i][1] == $fid) {
                echo $arr[$i][2] . "
";                 getCate($arr[$i][0]); //递归             }         }     }

以上是php如何实现分类的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn