php数组无限文类,php把无限级分类生成数组的类
你是否遇到需要把无限级分类循环出来,是不是很头痛。
比如,要循环出一个SELECT,或一个TABLE,要写一大堆判断。
我的做法是生成数组,可以重复调用,直接循环数组就行了。为了方便,把它写成了类:class.asp。
返回所有分类的数组,并按顺序排列
有4个属性:
复制代码 代码如下:
set aa=new classlist
aa.id="id"//编号的名称
aa.classname="classname"//分类名称
aa.pid="pid"//父ID名称
aa.db_name="class"//表名
list=aa.arrylist()
?>
类:classlist
复制代码 代码如下:
class classlist
private c_id
private c_db_name
private c_pid
private c_classname
public property let id(str)
c_id = str
end property
public property let db_name(str)
c_db_name = str
end property
public property let pid(str)
c_pid = str
end property
public property let classname(str)
c_classname = str
end property
dim list()
dim i,n
Private Sub Class_Initialize()'初始化变量
i=0
n=0
End Sub
public function classarry(thisid,pid)'取得下级ID
if pid>0 then
sql="select * from "&c_db_name&" where "&c_pid&"="&thisid
else
sql="select * from "&c_db_name&" where "&c_id&"="&thisid
end if
set rs_c=conn.execute(sql)
n=n+1
do while not rs_c.eof
list(0,i)=rs_c(c_id)'装入数组中
list(1,i)=rs_c(c_classname)
list(2,i)=n
'n=n+1
i=i+1
thisid=classarry(rs_c(c_id),1)'这里递归调用,直到最后一个子类
rs_c.movenext
loop
n=n-1
rs_c.close
end function
public function arrylist()'循环出所有根类
set rs_c=conn.execute("select count("&c_id&") from "&c_db_name)
lenght=rs_c(0)
rs_c.close
redim list(2,lenght)'设置数组
set rs1=conn.execute("select "&c_id&" from "&c_db_name&" where "&c_pid&"=0")
do while not rs1.eof
call classarry(rs1(c_id),0)
'n=1
rs1.movenext
loop
rs1.close
arrylist=list
end function
end class
%>
实例测试:
表class
字段
id:自动编号
classname:名称
pid:父ID
文件名:test.asp
复制代码 代码如下:
Set conn=Server.CreateObject("ADODB.connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
StrDSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ="
StrDSN = StrDSN & Server.MapPath("test.mdb")
conn.Open strDSN
function ins(num)
str=""
for ii=1 to num
str=str&"|-"
next
ins=str
end function
set aa=new classlist
aa.id="id"
aa.classname="classname"
aa.pid="pid"
aa.db_name="class"
list=aa.arrylist()
response.write "
ID | 名称 |
for j=0 to ubound(list,2)
response.write "
"&list(0,j)&""&list(1,j)&""&list(2,j)&""
next
response.write "
"
'response.write list(1,3)
%>
response.write ins(list(2,i))
response.write list(1,i)%>
循环结果:
www.jquerycn.cn/code/class/test.asp
基本可以满足通常的需要啦。
php数组无限文类,php把无限级分类生成数组的类相关推荐
- IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...
使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...
- PHP如何读取txt文档域名集,并且生成数组/随机显示一个
最近有朋友反馈我一个问题看我是否可以帮忙解决:需求就是网页需要跳转代码,用PHP写,读取一个域名集合包(也就是TXT文档),里面方着很多域名,让每访问一次随机跳转一个域名,怕是违法应用,没有答应帮忙, ...
- php递归 返回数组,php 递归 无限级分类并返回数组的例子
/** * 递归 无限级分类 返回数组 * link:www.jquerycn.cn * date:2013/2/21 */ $conn = mysql_connect('localhost','ro ...
- php mysql怎么实现,使用php与mysql怎么实现一个无限级分类
使用php与mysql怎么实现一个无限级分类 发布时间:2020-12-25 15:25:14 来源:亿速云 阅读:84 作者:Leah 本篇文章为大家展示了使用php与mysql怎么实现一个无限级分 ...
- php mysql 一级分类_无限级分类 for PHP+Mysql
一个PHP项目要用到分类,但不确认是4级还是需要用到5级,想着干脆做成无限级分类好了. 一开始想是按以前一样,数据库建4个值,如下: id: 自增 | pid: 父类ID | xid: ...
- 【JetPack】ViewBinding 视图绑定组件 ( 启用模块 | 视图绑定定制 | 绑定类名称生成规则 | 绑定类字段生成规则 | 绑定类获取根视图 | 绑定类获取布局组件 )
文章目录 I . 视图绑定组件简介 II . 视图绑定 ViewBinding 使用前提 ( Android Studio 3.6 ) III . 视图绑定组件启用 IV . 定制视图绑定 ( 启用视 ...
- GDCM:生成标准SOP类的测试程序
GDCM:生成标准SOP类的测试程序 GDCM:生成标准SOP类的测试程序 GDCM:生成标准SOP类的测试程序 #include "gdcmDefs.h" #include &q ...
- 使用idea Scripted Extensions生成entity实体类groovy
jpa自定义模板 import com.intellij.database.model.DasTable import com.intellij.database.model.ObjectKind i ...
- php如何对 mysql 中text类型拆分存入一个数组_PHP递归实现无限级分类,可选返回字符串和数组...
正 文: 在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性.那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类. 递归,简单的说就是 ...
最新文章
- (chap4 IP协议) 多播和子网掩码
- java.lang.StackTraceElement类
- asp.net操作Excel总结
- Codeforces Round #709 (Div. 1, based on Technocup 2021 Final Round) A. Basic Diplomacy
- 烂泥:通过vsphere给esxi添加本地硬盘
- Tomcat是如何将请求一步步传递到我们编写的HttpServlet类中的
- 面试官:Spring创建好的单例对象存在线程安全问题吗?
- iOS-属性字符串添加下划线、删除线
- 百度搜索大数据:“摆摊技巧”搜索热度暴涨655%;中国电信:将逐步关闭3G网络业务;IntelliJ IDEA新版发布|极客头条...
- 华为主导 5G 入网之争?
- Linux 上的数据可视化工具
- HTML学习总结(4)——表格/块/内联元素/iframe/颜色/脚本/实体
- Jasperreports5.6支持PDF微软雅黑字体
- SQL Server 创建链接服务器
- linux命令行连接蓝牙音箱,树莓派4b连接蓝牙音箱/耳机播放音乐 命令行
- BUG的跟踪管理、定位BUG
- 创新工场和海豚浏览器宣讲会启示
- 海康监控如何设置STMP邮箱报警
- n*m的格子中正方形个数和长方形个数
- 2017-2018-2 《密码与安全新技术》第一周作业
热门文章
- flowable 启动流程到完成所有任务之间的数据库变化
- 前后端分离,如何解决跨域(代理模式)、路由拦截(进入页面需要登录)以及请求拦截(登录TOKEN失效)等问题(初学者)
- 超详细前端开发案例:品优购商场项目(四)
- html-文本框和单选框
- ecshop模板中使用php,使ecshop模板中可引用常量的实现方法
- java mvel_MVEL实现java直接根据公式计算结果
- mysql的存储过程放在哪里_mysql存储过程求解,错误在哪里?
- MySQL read-c_技术分享 | MySQL C API 参数 MYSQL_OPT_READ_TIMEOUT 的一些行为分析
- java的serversocket_Java ServerSocket 实现聊天室功能(简易版)
- Linux服务器版本鼠标,安装GPM给Linux虚拟控制台提供配置鼠标支持