精确控制php传值 本帖最后由 garcon1986 于 2009-12-16 19:10:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你只说出了错误的表现,没告诉大家正确的显示啊!显示隐藏层只是客户端表现,先用静态页面做出正确的效果再修改成php输出吧。 恩,效果已经做出来了,当你把div中的php代码都注释掉以后能看到正确的效果。如果访问我提供的图片,能看到问题所在:我想要的结果是点击entreprise1会弹出entreprise1内的site,但是现在无论是点击entreprise1,还是entreprise2显示的都是e2_site1和e2_site2。也就是说,总是显示列表最后一项对应的站点e2site1,e2site2。依次类推,点击站点栏的任何项都显示e2_site2_salarie1,e2_site2_salarie2,e2_site2_salarie3。大家有什么看法? 你的静态页面效果中每个<ul>中不同的li所控制的层应该是不同的,但是你用php的while输出记录时每个li所控制的层都是相同的!你从浏览器中查看php输出的源文件就能看出和你手工效果页面在toggle内参数是有区别的。 区别是什么?我现在把<div id="main">改为:<div id="main" onclick=\"toggle('hidden','hidden2','hidden3');\"> 效果是一样的。不知道如何改正能每次点击显示相对应的内容。 像enterprise1->e1_site1->e1_site1_salarie1这样。 while($row = mysql_fetch_assoc($result)){ echo "<li onclick=\"toggle('hidden','hidden2','hidden3');\">".$row['name'].'<li>'; $query2 = "SELECT * FROM site WHERE eid = '".$row['id']."'"; //echo $query2; $result2 = mysql_query($query2) or die("query2 result error".mysql_error()); } 最后一个$result遍历记录得出来的$result2(而且只执行一次) ,同样$result3,$result4也一样。 你的代码就是这样的。。当然你可以把 }放在最后$result4会得到所有的你想要的,但是那样你的这个页面的执行会很慢。个人建议你用array[]得出你想要的结果然后显示。。 补充:$result2只在这里执行了一次。。 while($row2 = mysql_fetch_assoc($result2)){ echo "<li onclick=\"toggle('hidden2','hidden3')\">".$row2['name'].'< >'; $query3 = "SELECT * FROM salarie WHERE siteid =".$row2['id']; //echo $query3; $result3 = mysql_query($query3) or die("query3 result error".mysql_error()); } 如果把}放到最后,就会只显示enterprise1而在result4的结果后显示enterprise2,3等等。用array[]得到结果,怎么用呢? 请问该怎么用呢?是不是要修改这一句: while($row = mysql_fetch_array($result)){大侠们指点一下吧。 有没有ajax的解决方案呢? 是的,混合的比较厉害,所以考虑用ajax了。谁能帮忙看看改一下??? input 一个动态得到的数值时,无法显示 【求最简算法】数组转字符串 DEDE程序中,如何将后台管理员的账户名称,显示在前台静态页面上? 关于FTP的帐号,不是很明白 如何监听到数据库新增内容了,页面就马上自动刷新 文字居中 解析csv文件时的路径问题。 搜索查询,与数组有关... UNIX下的php问题! 如何用程序自动生成二级域名? 在服务器使用copy无法上传文件,但是本地测试却可以,请教? PHP工厂模式相同疑惑
恩,效果已经做出来了,当你把div中的php代码都注释掉以后能看到正确的效果。如果访问我提供的图片,能看到问题所在:我想要的结果是点击entreprise1会弹出entreprise1内的site,但是现在无论是点击entreprise1,还是entreprise2显示的都是e2_site1和e2_site2。也就是说,总是显示列表最后一项对应的站点e2site1,e2site2。
依次类推,点击站点栏的任何项都显示e2_site2_salarie1,e2_site2_salarie2,e2_site2_salarie3。大家有什么看法?
你从浏览器中查看php输出的源文件就能看出和你手工效果页面在toggle内参数是有区别的。
区别是什么?我现在把<div id="main">改为:<div id="main" onclick=\"toggle('hidden','hidden2','hidden3');\"> 效果是一样的。不知道如何改正能每次点击显示相对应的内容。 像enterprise1->e1_site1->e1_site1_salarie1这样。
while($row = mysql_fetch_assoc($result)){
echo "<li onclick=\"toggle('hidden','hidden2','hidden3');\">".$row['name'].'<li>';
$query2 = "SELECT * FROM site WHERE eid = '".$row['id']."'";
//echo $query2;
$result2 = mysql_query($query2) or die("query2 result error".mysql_error());
}
最后一个$result遍历记录得出来的$result2(而且只执行一次) ,同样$result3,$result4也一样。 你的代码就是这样的。。当然你可以把 }放在最后$result4会得到所有的你想要的
,但是那样你的这个页面的执行会很慢。
个人建议你用array[]得出你想要的结果然后显示。。
while($row2 = mysql_fetch_assoc($result2)){
echo "<li onclick=\"toggle('hidden2','hidden3')\">".$row2['name'].'< >';
$query3 = "SELECT * FROM salarie WHERE siteid =".$row2['id'];
//echo $query3;
$result3 = mysql_query($query3) or die("query3 result error".mysql_error());
}
是不是要修改这一句: while($row = mysql_fetch_array($result)){大侠们指点一下吧。
是的,混合的比较厉害,所以考虑用ajax了。谁能帮忙看看改一下???