之前解决的帖子地址
http://bbs.csdn.net/topics/390263234 现在在那个帖子的地址上,又加入了分页的功能 自己把问题想的太简单了。。 以为都是按着sql直接一分就完了,跟分页没关系。。
主要有以下几个问题1.当点击下一页之后,能正确显示数据库中的内容,但是在日期:<?php echo $date; ?>——NO:<?php echo $officecode; ?>——名称:<?php echo $officename; ?> 这里会显示 echo "没有这样的记录,正在返回确认页面";
等于进入了else的那部分 就会返回write.php页面2.现在这样的分页的情况就是 每一页都是一个独立的统计页面
比如第一个名字在某一天有15次记录 每页显示10条记录 第一页的10次 会做一次统计 在第二页 做另5次的统计
如果想改成不是每页都统计,而是完全根据名字,来进行统计 应该要如何改写?
总体来说,是不是需要改分页的方法?求详细内容 谢谢
下面是完整代码 <?php
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>统计页面</title>
</head>
<body>
<?phpinclude('conn.php');
$officename=$_POST['officename'];
$date=$_POST['riqi'];
$sql1="select * from record where officename='$officename' and searchtime like '%$riqi%' order by name";
$result1=mysql_query($sql1);
if(mysql_num_rows($result1)!=0){
$row=mysql_fetch_assoc($result1) ;
$officecode=$row['officecode'];
$_SESSION["riqi"]=$_POST['riqi'];
$_SESSION["officename"]=$_POST['officename'];
$_SESSION["officecode"]=$officecode;
}
else{
echo "没有这样的记录,正在返回确认页面";
echo "<meta http-equiv='refresh' content='2;url=confirm.php'>";
}?>日期:<?php echo $date; ?>——NO:<?php echo $officecode; ?>——名称:<?php echo $officename; ?><form name="form3">
<div align="center">
<table width="1230" height="103" border="0" align="left" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<!-- 将要列出的内容-->
<th width="5%" height="38" bgcolor="#E3E3E3" scope="col">编号</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">姓名</th>
<th width="5%" bgcolor="#E3E3E3" scope="col">NO.</th>
<th width="20%" bgcolor="#E3E3E3" scope="col">物件名称</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">行驶距离km</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">行驶时间min</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">作业时间min</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">行驶速度km/h</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">到达时间</th>
<th width="15%" bgcolor="#E3E3E3" scope="col">出发时间</th>
</tr>
<?php
$link=mysql_connect('localhost','root','mysql'); //数据库用户名及数据库密码
mysql_select_db('berecord'); //数据库名称
mysql_query('set names utf8');$Page_size=10; //设置每页显示个数
$result=mysql_query("select * from record where officecode='$officecode' and searchtime like '%$riqi%' order by name"); //record为表名$count = mysql_num_rows($result);
$page_count = ceil($count/$Page_size);$init = 1;
$page_len = 7;
$max_p=$page_count;
$pages=$page_count;//判断当前页码
if(empty($_GET['page'])||$_GET['page']<0){
$page=1;
}
else{
$page=$_GET['page'];
}$offset=$Page_size*($page-1);
$sql="select * from record where officecode='$officecode' and searchtime like '%$riqi%' order by mencode limit $offset,$Page_size" ;
$result=mysql_query($sql,$link);
$last=array();
while($row=mysql_fetch_array($result)){
if($last){
$row['xingshi'] = (strtotime($row['arrivetime'])-strtotime($last['gotime']))/60;
if($row['name'] == $last['name']) { //还是同一组
$distance += $row['distance'];
$xingshi += $row['xingshi'];
}
else {
$row['xingshi'] = 0;
//echo "合计\t" . $distance . "\t\t\t" . $xingshi . 'min' . PHP_EOL;
?>
<td colspan="4" bgcolor="#E0EEE">合计</td>
<td><div align="center">
<?php echo $distance."km"; ?>
</div></td>
<td><div align="center"><?php echo $xingshi."min"; ?></div></td>
<?php
//合计完成后,重置行驶距离和行驶时间
$distance = $row['distance'];
$xingshi = 0;
}
}
else {
$distance = $row['distance'];
$xingshi = 0;
}
$last=$row;
?>
<tr>
<td bgcolor="#E0EEE0" height="25px"><div align="center">
<?php echo $row['mencode']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['name']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['record']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['buildname']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['distance']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php
echo $row['xingshi'];
?>
</div></td><td bgcolor="#E0EEE"><div align="center">
<?php echo $dotime=(strtotime($row['gotime'])-strtotime($row['arrivetime']))/60 ; ?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php //echo $row['distance']/($dotime/60);
//if($xingshi!=0)
if($row['xingshi']!=0){
echo round($row['distance']/($row['xingshi']/60),2);
}
else{
echo "0";
}
?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['arrivetime']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['gotime']?>
</div></td>
</tr>
<?php}
?>
<td colspan="4" bgcolor="#E0EEE">合计</td>
<td><div align="center">
<?php echo $distance."km"; ?>
</div></td>
<td><div align="center"><?php echo $xingshi."min"; ?></div></td><?php
$page_len=($page_len%2)?$page_len:$pagelen+1;//页码个数
$pageoffset = ($page_len-1)/2; //页码个数左右偏移量$key='<div class="page">';
$key.="<span>$page/$pages</span>"; //第几页,共几页
if($page!=1){
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=1\">第一页</a>";//第一页
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">上一页</a>"; //上一页
}
else{
$key.="第一页";//第一页
$key.="上一页";//上一页
}
if($pages>$page_len){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$init=1;
$max_p = $page_len;
}
else{
//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$page_len+1;
}
else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max_p =$page+$pageoffset;
}
}
}
for($i=$init;$i<=$max_p;$i++){
if($i==$page){
$key.='<span>'.$i.'</span>';
}
else{
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".$i."\">".$i."</a>";
}
}
if($page!=$pages){
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">下一页</a>"; //下一页
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page={$pages}\">最后一页</a>"; //最后一页
}
else{
$key.="下一页"; //下一页
$key.="最后一页";//最后一页
}
$key.='</div>';
//echo $sql;
?>
<tr>
<td colspan="13" bgcolor="#E0EEE0"><div align="center"><?php echo $key ?></div></td>
</tr>
</table>
</div>
<!--
<div align="center"><?php echo $key ?> 第<input type="text" name="page" style="width:25px;" />页
<input type="button" value="go" onClick="tijiao()">
</div>
-->
<br><br><br><br><br><br>
</table>
<div align="center">
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input type="button" value="返回输入页面" onClick="location.href='write.php'" />
</div>
</form>
</body>
</html>
http://bbs.csdn.net/topics/390263234 现在在那个帖子的地址上,又加入了分页的功能 自己把问题想的太简单了。。 以为都是按着sql直接一分就完了,跟分页没关系。。
主要有以下几个问题1.当点击下一页之后,能正确显示数据库中的内容,但是在日期:<?php echo $date; ?>——NO:<?php echo $officecode; ?>——名称:<?php echo $officename; ?> 这里会显示 echo "没有这样的记录,正在返回确认页面";
等于进入了else的那部分 就会返回write.php页面2.现在这样的分页的情况就是 每一页都是一个独立的统计页面
比如第一个名字在某一天有15次记录 每页显示10条记录 第一页的10次 会做一次统计 在第二页 做另5次的统计
如果想改成不是每页都统计,而是完全根据名字,来进行统计 应该要如何改写?
总体来说,是不是需要改分页的方法?求详细内容 谢谢
下面是完整代码 <?php
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>统计页面</title>
</head>
<body>
<?phpinclude('conn.php');
$officename=$_POST['officename'];
$date=$_POST['riqi'];
$sql1="select * from record where officename='$officename' and searchtime like '%$riqi%' order by name";
$result1=mysql_query($sql1);
if(mysql_num_rows($result1)!=0){
$row=mysql_fetch_assoc($result1) ;
$officecode=$row['officecode'];
$_SESSION["riqi"]=$_POST['riqi'];
$_SESSION["officename"]=$_POST['officename'];
$_SESSION["officecode"]=$officecode;
}
else{
echo "没有这样的记录,正在返回确认页面";
echo "<meta http-equiv='refresh' content='2;url=confirm.php'>";
}?>日期:<?php echo $date; ?>——NO:<?php echo $officecode; ?>——名称:<?php echo $officename; ?><form name="form3">
<div align="center">
<table width="1230" height="103" border="0" align="left" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<!-- 将要列出的内容-->
<th width="5%" height="38" bgcolor="#E3E3E3" scope="col">编号</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">姓名</th>
<th width="5%" bgcolor="#E3E3E3" scope="col">NO.</th>
<th width="20%" bgcolor="#E3E3E3" scope="col">物件名称</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">行驶距离km</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">行驶时间min</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">作业时间min</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">行驶速度km/h</th>
<th width="10%" bgcolor="#E3E3E3" scope="col">到达时间</th>
<th width="15%" bgcolor="#E3E3E3" scope="col">出发时间</th>
</tr>
<?php
$link=mysql_connect('localhost','root','mysql'); //数据库用户名及数据库密码
mysql_select_db('berecord'); //数据库名称
mysql_query('set names utf8');$Page_size=10; //设置每页显示个数
$result=mysql_query("select * from record where officecode='$officecode' and searchtime like '%$riqi%' order by name"); //record为表名$count = mysql_num_rows($result);
$page_count = ceil($count/$Page_size);$init = 1;
$page_len = 7;
$max_p=$page_count;
$pages=$page_count;//判断当前页码
if(empty($_GET['page'])||$_GET['page']<0){
$page=1;
}
else{
$page=$_GET['page'];
}$offset=$Page_size*($page-1);
$sql="select * from record where officecode='$officecode' and searchtime like '%$riqi%' order by mencode limit $offset,$Page_size" ;
$result=mysql_query($sql,$link);
$last=array();
while($row=mysql_fetch_array($result)){
if($last){
$row['xingshi'] = (strtotime($row['arrivetime'])-strtotime($last['gotime']))/60;
if($row['name'] == $last['name']) { //还是同一组
$distance += $row['distance'];
$xingshi += $row['xingshi'];
}
else {
$row['xingshi'] = 0;
//echo "合计\t" . $distance . "\t\t\t" . $xingshi . 'min' . PHP_EOL;
?>
<td colspan="4" bgcolor="#E0EEE">合计</td>
<td><div align="center">
<?php echo $distance."km"; ?>
</div></td>
<td><div align="center"><?php echo $xingshi."min"; ?></div></td>
<?php
//合计完成后,重置行驶距离和行驶时间
$distance = $row['distance'];
$xingshi = 0;
}
}
else {
$distance = $row['distance'];
$xingshi = 0;
}
$last=$row;
?>
<tr>
<td bgcolor="#E0EEE0" height="25px"><div align="center">
<?php echo $row['mencode']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['name']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['record']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['buildname']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['distance']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php
echo $row['xingshi'];
?>
</div></td><td bgcolor="#E0EEE"><div align="center">
<?php echo $dotime=(strtotime($row['gotime'])-strtotime($row['arrivetime']))/60 ; ?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php //echo $row['distance']/($dotime/60);
//if($xingshi!=0)
if($row['xingshi']!=0){
echo round($row['distance']/($row['xingshi']/60),2);
}
else{
echo "0";
}
?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['arrivetime']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['gotime']?>
</div></td>
</tr>
<?php}
?>
<td colspan="4" bgcolor="#E0EEE">合计</td>
<td><div align="center">
<?php echo $distance."km"; ?>
</div></td>
<td><div align="center"><?php echo $xingshi."min"; ?></div></td><?php
$page_len=($page_len%2)?$page_len:$pagelen+1;//页码个数
$pageoffset = ($page_len-1)/2; //页码个数左右偏移量$key='<div class="page">';
$key.="<span>$page/$pages</span>"; //第几页,共几页
if($page!=1){
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=1\">第一页</a>";//第一页
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">上一页</a>"; //上一页
}
else{
$key.="第一页";//第一页
$key.="上一页";//上一页
}
if($pages>$page_len){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$init=1;
$max_p = $page_len;
}
else{
//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$page_len+1;
}
else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max_p =$page+$pageoffset;
}
}
}
for($i=$init;$i<=$max_p;$i++){
if($i==$page){
$key.='<span>'.$i.'</span>';
}
else{
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".$i."\">".$i."</a>";
}
}
if($page!=$pages){
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">下一页</a>"; //下一页
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page={$pages}\">最后一页</a>"; //最后一页
}
else{
$key.="下一页"; //下一页
$key.="最后一页";//最后一页
}
$key.='</div>';
//echo $sql;
?>
<tr>
<td colspan="13" bgcolor="#E0EEE0"><div align="center"><?php echo $key ?></div></td>
</tr>
</table>
</div>
<!--
<div align="center"><?php echo $key ?> 第<input type="text" name="page" style="width:25px;" />页
<input type="button" value="go" onClick="tijiao()">
</div>
-->
<br><br><br><br><br><br>
</table>
<div align="center">
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<input type="button" value="返回输入页面" onClick="location.href='write.php'" />
</div>
</form>
</body>
</html>
解决方案 »
- 这样的hph网站能运行吗?
- echo $cont_start变量...为什么页面打印不出信息呢???
- 请问哪里有快速安全的MYSQL下载啊
- 路径问题?高手们出来帮忙了!!!!完事给分
- 为什么我用simplexml_load_file就出错,我用的是php 5.2.5 版本,是这个版本不支持该功能,还是别的原因。谢高手帮助。
- 关于单独取得日期的日,月,年的问题,请知道的朋友帮个忙,急!!!
- $_SERVER['HTTP_HOST'] 获取二级域名出现奇怪问题
- 说说 php模板 smarty ,希望大家不要太迷信它
- php做的产品,一般有哪几种加密方法? 大家探讨一下.
- 为什么从from 中传过来的值会没有认到!
- php代码字符串跟变量组合规范,帮我看看
- 递归目录树,怎样套上UL LI
之前有一个搜索记录的也是用的这样的分页,是没有问题,能够正常显示的这个页面 我的感觉是
分页功能 能够正常实现(快速点击分页,不让页面在 (echo "没有这样的记录,正在返回确认页面";
echo "<meta http-equiv='refresh' content='2;url=confirm.php'>";) 这里跳转)现在 1.php 通过action 传递riqi和officename 到2.php(我在1楼帖的代码部分)当进行分页时,应该是传过来的riqi值和officename的值没有能够正确保留
所以在翻页后 执行$sql1的时候 没有得到相应的数据 所以在翻页以后,进入else语句 跳转页面这个问题应该是出在哪呢?