Home >Backend Development >PHP Tutorial >php传值给js,可以不用echo吗?
如题,使用的是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表格,然后下一页上一页就不用刷新页面了,这时候切换记录就很快了,时间可以忽略不计,就是一开始点查询后会等一会,这种情况适用分批加载吗?
分批加载完全没有问题,哪有一下把所有数据全弄到前台的?访问量一大,你的服务器还不死掉?
谢谢各位,结贴!