南强小屋 Design By 杰米
效果:
CREATE TABLE `NewTable` ( `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT , `pid` int(10) UNSIGNED ZEROFILL NOT NULL , `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `path` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=53 CHECKSUM=0 ROW_FORMAT=DYNAMIC DELAY_KEY_WRITE=0 ;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>四个字段的无限分类</h1>
<form action="{:url('add')}" method="post">
请选择上级分类:<select name="pid">
<option value="0">顶级分类</option>
{foreach $cates as $vo}
<option value={$vo.id}>|{$vo.pre}{$vo.name}</option>
{/foreach}
</select><br/>
请填写分类的名称:<input type="text" name="name"/></br>
<input type="submit" value="添加">
</form>
</body>
</html>
<"-",id)')->select();
#order('concat(path,"-",id)')自动排序
foreach ($data as &$cate) {
$prefix='';
$i=count(explode("-", $cate['path']));
for($n=0;$n<=$i;$n++){
$prefix.="--";
}
$cate['pre']=$prefix;
}
$this->assign('cates',$data);
return $this->fetch();
}
public function add(){
$db=Db::name('categroy');
if($_POST['pid']==0){
$_POST['path']=0;
}else{
$_POST['path']=$db->where('id='.$_POST['pid'])->value('path')."-".$_POST['pid'];
}
$name=$_POST['name'];
if($db->insert($_POST)){
$this->success('添加成功');
}else{
$this->error('添加失败');
}
#原理:4个字段
/*
ID PID NAME PATH
1 0 服装 0-1
2 0 游戏 0-2
3 1 男装 0-1-3
4 3 上衣 0-1-3-4
*/
}}
还有一个没有写完的递归无限分类
public function user(){
$db=Db::name('categroy1');
// $data=$db->getTree();
$opt=$db->getOption($data);
$this->assign('opt',$opt);
$this->assign('cates',$data);
return $this->fetch();
}
public function doAdd(){
//执行添加数据
$db=Db::name('categroy1');
if($db->insert()){
$this->success('添加成功',url('index'));
}else{
$this->error('添加失败',url('index'));
}
return $this->fetch();
}
Model
<"-";
}
foreach ($data as $cate) {
$opt.="<option value='".$cate['id']."'>".$prefix.$cate['name']."</option>";
#判断该分类下是否包含子类,如果有子类,将数组传入接着拼装
if(!empty($case['cates'])){
$i++;
$opt.=$this->getOption($case['cases']);
}else{
$i=0;
}
return $opt;
}
}
}
以上这篇在TP5数据库中四个字段实现无限分类的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
TP5,数据库,字段,无限分类
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无在TP5数据库中四个字段实现无限分类的示例的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
