>백엔드 개발 >PHP 튜토리얼 >php传值给js,可以不用echo吗?

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

WBOY
WBOY원래의
2016-06-23 14:10:531188검색

如题,使用的是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으로 문의하세요.
이전 기사:上传视频的问题다음 기사:php奇怪的解析方式