这是一个典型的无级分类的问题。一般情况下,可用伪无级分类来解决。加一个字段path就能更好的解决效率问题而不去用递归。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的泉山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
正好有一段我教学时用的演示代码,你可以参考一下。
$rs=mysql_query("select * from category where path like '$path%' order by path");
//用于对缩排的控制
$oldPath=0;
while($row=mysql_fetch_array($rs)){
echo str_repeat(' ',getDeeps($row['path'])*5);
echo $row['description'].$row['path'];
echo "br /";
}
function getDeeps($path){
$array=explode(',',$path);
return count($array);
}
执行结果
电器1,2
家用电器1,2,5
电视1,2,5,7
洗衣机1,2,5,8
计算机1,2,6
笔记本1,2,6,10
联想笔记本1,2,6,10,11
神舟笔记本1,2,6,10,12
台式机1,2,6,9
服装1,3
男装1,3,13
女装1,3,14
食品1,4
蔬菜1,4,15
肉类1,4,16
两个方法
1,在sql语句里写个CONCAT(b,c,d,e,f.....) as tt,然后php读取tt就可以。
2,php循环输出的时候定义个变量保存...
1.array_merge()合并
例子
代码如下
$array
=
array('a'='bb');
$array2
=
array('b'='cc');
$array3
=
array_merge($array,$array2);
输出结果为
Array
(
[a]
=
bb
[b]
=
cc
)
上面因为都是数组就没有问题了,假如我们把$array
设置不是数组看看什么情况
代码如下
$array
=
1;//array('a'='bb');
$array2
=
array('b'='cc');
$array3
=
array_merge($array,$array2);
print_r(
$array3
);
运行后结果
Warning:
array_merge()
[function.array-merge]:
Argument
#1
is
not
an
array
in
E:test1.php
on
line
4
告诉我们必须是要一个数组了,那么这个我就有多种方法来解决,
1.使用is_array()
进行判断了,但是会发现如果合并数组比较多一个个判断不合理,后来发现可以转换数据类型
代码如下
$array
=
1;//array('a'='bb');
$array2
=
array('b'='cc');
$array3
=
array_merge((array)$array,(array)$array2);
print_r(
$array3
);
输出结果不报错了
Array
(
[0]
=
1
[b]
=
cc
)
他自动把数字1转换成了数组了,所以大家在使用时一定要注意这些细节哦。
你要随机,表里就给有一个ID
function rands($num,$max){
for($i=0;$i$num;$i++){
$a[]=rand(0,$max);
}
return $a;
}
$a=implode(',',$a);
$sql="select * from tablename where id in($a)";
$rl=mysql_query($sql);
while($r=mysql_fetch_array($rl)){
$str.=$r['title'];
}
echo $str;
首先解决,查询数据
1
select userlist.userid,userlist.username,userinformation.address from userlist left join userinformation on userlist.userid=userinformation.userid
然后,再把查询数据,插入到新表即可
只要在上面的语句,加上插入这句sql就可以了,最终语句如下
1
insert into `user` select userlist.userid,userlist.username,userinformation.address from userlist left join userinformation on userlist.userid=userinformation.userid
$Data = M('course_card'); // 实例化Data数据对象import('ORG.Util.Page');// 导入分页类$count = $Data-where($map)-count();// 查询满足要求的总记录数$Page = new Page($count,1);// 实例化分页类 传入总记录数$page-setConfig('header','会员卡');$Page-setConfig('prev', "上一页");//上一页$Page-setConfig('next', '下一页');//下一页$Page-setConfig('first', '首页');//第一页$Page-setConfig('last', "末页");//最后一页$Page - setConfig ( 'theme', '%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%' );// 进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取$nowPage = isset($_GET['p'])?$_GET['p']:1;$list = $Data-where($map)-page($nowPage.','.$Page-listRows)-select();$show = $Page-show();// 分页显示输出$this-assign('page',$show);// 赋值分页输出$this-assign('course_card',$list);// 赋值数据集