<?php
$pageSize=4;//每页显示多少条记录
$rowCount=0;//共有多少条记录
$pageNow=1;//希望显示第几页
$pageCount=0;//一共有多少页 $pageCount=ceil($rowCount/$pageSize);
//4.15根据分页链接来修改$pageNow的值
if(!empty($_GET['pageNow'])){
$pageNow=$_GET['pageNow']; //[根据分页链接来修改$pageNow的值。]
} $sql="SELECT (SELECT COUNT(*) FROM comment WHERE titleid=a.id) AS count, a.id, a.title,a.content,a.user,a.date
FROM question a ORDER BY a.date DESC";
$res1=mysqli_query($conn,$sql);
//4.11取出行数
if($row=mysqli_fetch_row($res1)){
$rowCount=$row[0]; //[取得$rowCount,,我们就知道了$pageCount这两个指标了。]
}
//4.12计算共有多少页
$pageCount=ceil($rowCount/$pageSize);
$pageStart=($pageNow-1)*$pageSize; //4.13发送带有分页的sql结果
$sql.=" limit $pageStart,$pageSize"; //[根据$sql语句的limit 后面的两个值(起始值,每页条数),来实现分页。以及求得这两个值。]
$res2=mysqli_query($conn,$sql) or die('无法获取结果集'.mysqli_error()); $json = ''; //将查询到的数据转为json 格式——键值对——因为PHP数组格式在jQuery中不能直接用
while(!!$row = mysqli_fetch_array($res2,MYSQLI_ASSOC)){
foreach($row as $key => $value){
$row[$key] = urlencode(str_replace("\n","",$value));
}
$json .= urldecode(json_encode($row)).','; //通过编码和解码转换过来
} echo '['.substr($json, 0, strlen($json) - 1).']';
//4.14打印出页码的超链接
for($i=1;$i<=$pageCount;$i++){
echo '<a href="show_content.php?pageNow='.$i.'">'.$i.'</a> '; //[打印出页码的超链接]
}
//5.释放资源,关闭连接
mysqli_free_result($res2);
mysqli_close($conn);
问题:为什么我在这些代码的任何地方再加上一个 echo ‘随便写点什么’; 之类的输出语句,刷新页面后所有的json数据都不能再输出了?
去掉echo语句就都能够输出正常。我的原意是要在下面输出页面信息。
$pageSize=4;//每页显示多少条记录
$rowCount=0;//共有多少条记录
$pageNow=1;//希望显示第几页
$pageCount=0;//一共有多少页 $pageCount=ceil($rowCount/$pageSize);
//4.15根据分页链接来修改$pageNow的值
if(!empty($_GET['pageNow'])){
$pageNow=$_GET['pageNow']; //[根据分页链接来修改$pageNow的值。]
} $sql="SELECT (SELECT COUNT(*) FROM comment WHERE titleid=a.id) AS count, a.id, a.title,a.content,a.user,a.date
FROM question a ORDER BY a.date DESC";
$res1=mysqli_query($conn,$sql);
//4.11取出行数
if($row=mysqli_fetch_row($res1)){
$rowCount=$row[0]; //[取得$rowCount,,我们就知道了$pageCount这两个指标了。]
}
//4.12计算共有多少页
$pageCount=ceil($rowCount/$pageSize);
$pageStart=($pageNow-1)*$pageSize; //4.13发送带有分页的sql结果
$sql.=" limit $pageStart,$pageSize"; //[根据$sql语句的limit 后面的两个值(起始值,每页条数),来实现分页。以及求得这两个值。]
$res2=mysqli_query($conn,$sql) or die('无法获取结果集'.mysqli_error()); $json = ''; //将查询到的数据转为json 格式——键值对——因为PHP数组格式在jQuery中不能直接用
while(!!$row = mysqli_fetch_array($res2,MYSQLI_ASSOC)){
foreach($row as $key => $value){
$row[$key] = urlencode(str_replace("\n","",$value));
}
$json .= urldecode(json_encode($row)).','; //通过编码和解码转换过来
} echo '['.substr($json, 0, strlen($json) - 1).']';
//4.14打印出页码的超链接
for($i=1;$i<=$pageCount;$i++){
echo '<a href="show_content.php?pageNow='.$i.'">'.$i.'</a> '; //[打印出页码的超链接]
}
//5.释放资源,关闭连接
mysqli_free_result($res2);
mysqli_close($conn);
问题:为什么我在这些代码的任何地方再加上一个 echo ‘随便写点什么’; 之类的输出语句,刷新页面后所有的json数据都不能再输出了?
去掉echo语句就都能够输出正常。我的原意是要在下面输出页面信息。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货