好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php无限极统计 php无限极分类

很多站长朋友们都不太清楚php无限极统计,今天小编就来给大家整理php无限极统计,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php 无限极分类 用什么函数 2、 请大家发我一个PHP无限级分类增,删,改,查的方法,谢谢了! 3、 PHP无限级分类怎么查询 4、 PHP无限极分类,不使用递归怎么转换数据?数据信息如下图所示 php 无限极分类 用什么函数

你好,php的无限分类不需要用到什么函数,只是利用到简单的递归就可以了。

请大家发我一个PHP无限级分类增,删,改,查的方法,谢谢了!

<?php

/*

reader: 这是自己写的无限极分类实现方法 里面的编辑方法只是对分类名进行了编辑

没有进行移动操作 小弟能力有限忘大家多多包涵啊

第一种方法:CREATE TABLE `types` (

`type_id` int(11) NOT NULL AUTO_INCREMENT,

`type_name` varchar(20) NOT NULL,

`type_p_id` varchar(64) NOT NULL DEFAULT '-',

PRIMARY KEY (`type_id`),

KEY `type_name` (`type_name`),

KEY `tname` (`type_name`)

) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8

注:

这里没做字段有效验证;

type_id 表示主键自增

type_name 表示分类名

type_p_id 表示分类路径 这里的分类路径是 上层父类的分类路径加上此类的主键id 用逗号隔开

*/

error_reporting(7);

header("Content:text/html;charset=utf-8");

//这里先进行操作的判断

$arr = array('list','add','del','edit','addok','edit_ok');

$act= in_array($_GET['ac'],$arr)?$_GET['ac']:$arr[0];

//连接数据库

$conn = mysql_connect("localhost","root","root")or die('数据库连接失败');

mysql_select_db("study",$conn);

mysql_query("set names utf8");

//根据分类层进行排序

$sql = "select * from types order by type_p_id";

$sql1 = mysql_query($sql);

//添加分类

if($act == "addok"){

$type_id = $_POST['type_id'];

$type_name = $_POST['type_name'];

//如果等于0表示是跟目录

if($type_id=="0"){

$sql = "insert into types set type_name = '{$type_name}'";

$res = mysql_query($sql);

$id = mysql_insert_id();

$sql = "update types set type_p_id = '$id,' where type_id=$id";

$res = mysql_query($sql);

if( mysql_affected_rows ()>0){

echo "<script>location.href='ok.php?act=list'</script>";

}else{

echo "<script>alert('添加失败');</script>";

}

}//如果不等于0

else{

//根据typeid 找到 该id下的type_p_id

$sql = "select type_p_id from `types` where type_id = $type_id";

$res = mysql_query($sql);

$res = mysql_fetch_assoc($res);

$type_id = $res['type_p_id'];

//先将名称插入进去

$sql = "insert into types set type_name = '{$type_name}'";

$res = mysql_query($sql);

//获取最后执行的id 然后进行数据更新 主要更新 type_p_id

$id = mysql_insert_id();

$sql = "update types set type_p_id = '$type_id$id,' where type_id=$id";

$res = mysql_query($sql);

if($res){

echo "<script>location.href='ok.php?act=list'</script>";

}else{

echo "<script>alert('添加失败');</script>";

}

}

}elseif($act=="add"){

?>

<form method="post" action="?ac=addok">

新分类名称: <input type="text" name="type_name"><br/>

当前分类:<select name="type_id" >

<option value="0">顶级分类</option>

<?php

//循环遍历分类

while($res = mysql_fetch_assoc($sql1)){

//查找 ","号出现的次数

$m=substr_count($res['type_p_id'],",");

//使用空格替换 "空格"

$strpad = str_pad("",$m*8*2,"");

if($m==1){

$sele = "disabled";

}else{

$sele = "";

}

?>

<option value="<?php echo $res['type_id']?>"><?php echo $strpad.$res['type_name']?></option>

<?php

}

?>

</select><br />

<input type="submit" value="添加"/>

</form>

<?php

}elseif($act == "list"){

//获取列表根据 分类层进行排序

$sql = "select * from types order by type_p_id";

$res = mysql_query($sql);

?>

<table width="50%" style="font-size:12px;margin-left:20%;">

<tr><td>id</td><td>分类名</td><td>path路径</td><td>操作</td></tr>

<?php

while($arr = mysql_fetch_assoc($res)){?>

<tr>

<td><?php echo $arr['type_id']?></td>

<td><?php echo $arr['type_name']?></td>

<td><?php echo $arr['type_p_id']?></td>

<td ><a href="?ac=edittype_id=<?php echo $arr['type_id'];?>">编辑</a> |

<a href="?ac=deltype_id=<?php echo $arr['type_id'];?>">删除</a></td>

</tr>

<?php

}

?>

</table>

<input type="button" value="添加" onclick="(location.href='?ac=add')">

<?php

}elseif($act == "edit"){

$id = $_GET['type_id'];

$sql = "select *from `types` where type_id=$id ";

$res = mysql_query($sql);

echo "<form method='post' action='?ac=edit_ok'>";

while($arr = mysql_fetch_assoc($res)){

echo "当前名称:{$arr['type_name']}"."<br />";

echo "新名称:<input type='text' name='n_type_name' >"."<br />";

echo "<input type='hidden' value={$arr['type_id']} name='id'/>";

}

echo "<input type='submit' value='更新'>";

echo "</form>";

}elseif($act == "edit_ok"){

$name = trim($_POST['n_type_name']);

$id = $_POST['id'];

if(!empty($name)){

$sql = "update `types` set type_name='$name' where type_id=$id";

mysql_query($sql);

echo "<script>location.href('ok.php?act=list')</script>";

}else{

echo "<script>location.href('ok.php?act=list')</script>";

}

}elseif($act == 'del'){

//这里的删除是要把当前分类 和当前的子分类都要删除 所以用到$id%

$id = $_GET['type_id'];

$sql ="delete from `types` where type_p_id like '$id%' ";

$res = mysql_query($sql);

if($res){

echo "<script>location.href('ok.php?act=list')</script>";

}else{

echo "<script>alert('删除失败');</script>";

}

}

?>

PHP无限级分类怎么查询

问题太过笼统,给你一个无限极分类数据处理的一种解决方案吧

表结构

id int 主键

fid int 父级id, 顶级分类的fid设为0, 其它级别的分类的fid值为其父级分类的id

name char 分类名称

若是要显示整个分类列表,那么你读取整个表, 形成一个这样结构的数组

$list = array();

while( $row = mysql_fetch_assoc($ret) ){

if( !isset($list[$row['fid']]) ) $list[$ret['fid']] = array();

$list[$ret['fid']][$ret['id']] = $row;

}

输出时用个递归就可以了, 把它转换成json,用js来做树形菜单那也很好控制

若是查某个分类下的子分类,那查询很简单,就不说了

PHP无限极分类,不使用递归怎么转换数据?数据信息如下图所示

你这个数据是从数据库里取出来的吗?一般的添加分类的时候就计算好level,写在数据库里,直接读取就好了。

关于php无限极统计的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php无限极统计 php无限极分类的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did194747
更新时间:2023-04-26   阅读:21次

上一篇: 为什么种子php 为什么种子不发芽

下一篇:php制作购物车 用php做一个简易购物网站

最新资料更新

  • 1.关于php用户同时登录的信息
  • 2.php浏览页面乱码 php页面字符出现乱码怎么解决
  • 3.php队列和缓存 php中的九大缓存技术
  • 4.phpwhere循环 php中的循环
  • 5.php的特点有. 简述什么是php?php的主要特点有哪些?
  • 6.手机文件php怎么打开 手机php格式文件怎么打开
  • 7.包含Zend转php的词条
  • 8.商品展示模块php 商品展示模块的设计要点
  • 9.php求数组的交集 php数组处理函数
  • 10.php技术网学习 php技术门户
  • 11.phpwebim开发 php web开发实用教程
  • 12.phpping测速 测试php性能工具
  • 13.vista打不开php php页面打不开
  • 14.php+rpush的简单介绍
  • 15.输出jsonphp代码 js 输出json
  • 16.关于winformphp的信息
  • 17.php毫秒间隔 php时间距离现在
  • 18.php是否为post的简单介绍
  • 19.php5.2.8安装 php安装教程
  • 20.php类属性分类 php数据类型

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]