首页 >后端开发 >php教程 >php传值给js,可以不用echo吗?

php传值给js,可以不用echo吗?

WBOY
WBOY原创
2016-06-23 14:10:531181浏览

如题,使用的是json传值,因为记录比较多,用echo太耗时了,请高手指点


回复讨论(解决方案)

为什么觉得用echo太耗时了,想用 print 

可以先序列化或json编码,再echo ;

echo  json_encode($array);

因为数据库查询结果的记录比较多,一起传给ajax时,前台点击查询反应太慢了,不知道怎么搞

可以先序列化或json编码,再echo ;

echo  json_encode($array); $result=mysqli_query($dbc,$query);
  $amount=mysqli_num_rows($result) ;
  $jsonresults=array();
  while($row=mysqli_fetch_array($result)){
  $jsonresults[]=$row ;  }
   
  $jsonresult=json_encode ( $jsonresults ) ;
  
  echo $jsonresult; 
这是我的php码,已经转换了,但是记录比较多,大概点查询后过两秒才有反应(近3000个数组记录)

有个疑问.
LZ要是在MYSQL命令行敲入$dbc的内容,执行时间是多少?
不一定是PHP解析问题吧.也有可能是数据读取花费的时间

有个疑问.
LZ要是在MYSQL命令行敲入$dbc的内容,执行时间是多少?
不一定是PHP解析问题吧.也有可能是数据读取花费的时间 我是这样试的,把echo $jsonresult; 先改成注释,再用echo "a";来代替,显示到前台,这时候速度就快很多,前面的读取都没有变

3000个数组记录 ,2s 已经很快了好不。将3000个数组记录转化为json难道不需要消耗一点时间吗?

3000个数组记录 ,2s 已经很快了好不。将3000个数组记录转化为json难道不需要消耗一点时间吗? 应该有更好的方法吧,我看有人做的,一万多个数组结果一瞬间就出来了额

echo "a"; 来代替 echo $jsonresult; 速度就快很多
那就说明是前台的问题了,当然只 echo "a"; 前台是会出错的

前台渲染 3000 * n 个 html 对象难道不需要时间吗

echo "a"; 来代替 echo $jsonresult; 速度就快很多
那就说明是前台的问题了,当然只 echo "a"; 前台是会出错的

前台渲染 3000 * n 个 html 对象难道不需要时间吗 有可能,因为前台要对传过去的结果eval,我用echo "a"; 代替的时候把这些都改成注释了,可能是是eval比较耗时,版主大大,有办法改进下吗,想速度快点

是不是非要一次性查3000记录? 如果不是必要 可以根据用户行为 分批获取

你可以考虑分批加载,就像“瀑布流”那样的
3000 * n 项数据怎么着也会有滚动条的,也就是说不可能一下子全看到
先看到的先加载,后看到的后加载,这就是所谓“瀑布流”

分页吧。数量太多浏览器都卡。

你可以考虑分批加载,就像“瀑布流”那样的
3000 * n 项数据怎么着也会有滚动条的,也就是说不可能一下子全看到
先看到的先加载,后看到的后加载,这就是所谓“瀑布流” 我是用的ajax,点查询后每次显示一条记录,一条记录就是一个html表格,然后下一页上一页就不用刷新页面了,这时候切换记录就很快了,时间可以忽略不计,就是一开始点查询后会等一会,这种情况适用分批加载吗?

分批加载完全没有问题,哪有一下把所有数据全弄到前台的?访问量一大,你的服务器还不死掉?

谢谢各位,结贴!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn