求一个无限级分类,读取分类下面数据检索的逻辑思路 本帖最后由 vgy12304 于 2010-02-25 12:13:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用 JQUERY 可简单,实现无限级联动,<script type="text/javascript" src="../../include/js/jquery-1.3.2.min.js"></script><script type="text/javascript">$(function(){$("#a").load("first.php?id="+$("#a").val());})</script>异步调用,这样有多少分类,就 有多少个php文件,我是这样搞的,因为我经常用jquery.js first.php?id=* 是根据id返回的一个combox,上面代码少了一些<script type="text/javascript"> $(function(){ $("#select1").click(function(){$("#div1").load("1st.php?id="+$("#select1").val()); }) ;$("#select2").click(function(){$("#div2").load("2nd.php?id="+$("#select2").val()); }) ;$("#select3").click(function(){$("#div3").load("3th.php?id="+$("#select3").val()); }) ;………………})</script> <select name="select1" id="select1" ></select><div id="div1"><select name="select2" id="select2" ></select></div>其中1st.php?id=^ 返回 的内容是<select name="select2" id="select2" ></select>依次往下…… 数据有多少?一千行?1,生成js文件,在客户端做递归2,生成php数组,发挥想象力 贡献你一个函数/* *调整顺序 *$upid——要提取的upid下的信息[默认从零开始递增] */function listOrder($arr,$upid=0,$newTB=''){ $info = array(); $sub = array(); $temp = array(); foreach($arr as $aName => $aValue) { if($aValue[$newTB.'upid']==$upid) { $temp = $aValue; $sub = listOrder($arr,$aValue[$newTB.'id'],$newTB); $info[] = $temp; //$info[] = $sub; if(isset($sub)&&count($sub)!=0) { foreach($sub as $sName => $sValue) $info[] = $sValue; } unset($arr[$aName]); } } return $info;}当 $upid=0 时,是排序 当$upid!=0时,是获取当前分类下的所有子分类 如何将图片转换成pdf 如何批量修改某字段值呀? PHP分页问题 求php 验证码码 怎样当浏览窗口删除Cookie!?? 大家能不能提供一些项目做参考呢?以便初学者有一个学习的方向和动力 我在配置php和Apache时候怎么会没用啊...关于httpd.conf文件啊 有点糊涂了,哥哥帮帮我 在内容中添加.或/或多了,页面就不会按以前的格式显示 求psysh使用文档 为什么页面上显示HTML源代码? 求救求救!请教牛人一个严格的PHP网址跳转代码
<script type="text/javascript" src="../../include/js/jquery-1.3.2.min.js"></script><script type="text/javascript">
$(function(){
$("#a").load("first.php?id="+$("#a").val());
})
</script>
异步调用,这样有多少分类,就 有多少个php文件,我是这样搞的,因为我经常用jquery.js
上面代码少了一些
<script type="text/javascript">
$(function(){
$("#select1").click(function(){
$("#div1").load("1st.php?id="+$("#select1").val());
}) ;
$("#select2").click(function(){
$("#div2").load("2nd.php?id="+$("#select2").val());
}) ;
$("#select3").click(function(){
$("#div3").load("3th.php?id="+$("#select3").val());
}) ;
………………
})
</script> <select name="select1" id="select1" >
</select>
<div id="div1"><select name="select2" id="select2" >
</select></div>其中1st.php?id=^ 返回 的内容是<select name="select2" id="select2" >
</select>依次往下……
1,生成js文件,在客户端做递归
2,生成php数组,发挥想象力
*调整顺序
*$upid——要提取的upid下的信息[默认从零开始递增]
*/
function listOrder($arr,$upid=0,$newTB='')
{
$info = array();
$sub = array();
$temp = array();
foreach($arr as $aName => $aValue)
{
if($aValue[$newTB.'upid']==$upid)
{
$temp = $aValue;
$sub = listOrder($arr,$aValue[$newTB.'id'],$newTB);
$info[] = $temp;
//$info[] = $sub;
if(isset($sub)&&count($sub)!=0)
{
foreach($sub as $sName => $sValue)
$info[] = $sValue;
}
unset($arr[$aName]);
}
}
return $info;
}当 $upid=0 时,是排序 当$upid!=0时,是获取当前分类下的所有子分类