Home >Backend Development >PHP Tutorial >php传值给js,可以不用echo吗?

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

WBOY
WBOYOriginal
2016-06-23 14:10:531177browse

如题,使用的是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表格,然后下一页上一页就不用刷新页面了,这时候切换记录就很快了,时间可以忽略不计,就是一开始点查询后会等一会,这种情况适用分批加载吗?

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

谢谢各位,结贴!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:上传视频的问题Next article:php奇怪的解析方式