求一个无限级分类,读取分类下面数据检索的逻辑思路 本帖最后由 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时,是获取当前分类下的所有子分类 php 使用socket 的问题 有red linux版的dreamweaver吗???? 一个综合信息门户,维护需要几个人? 怎么通过PHP实现,服务端数据变化。怎么通知到IE客户端 google提供广告的问题 实在没有分了.真诚求教:我想做一个类似"豆瓣网"的网站,如果有经验,请进来给我指个大方向~~~~~~~~~~~~ 关于表间传送参数的问题! 一个配置问题,急! 关于在函数内使用引用变量的问题。(很奇怪) 关于url传递的问题 为什么页面上显示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时,是获取当前分类下的所有子分类