请教关于记录集翻页的问题 select * from table limit 0,10重点关注一下这个limit,一切奥妙尽在其中,如果不明白搜索一下本论坛 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我知道limit的用处,我也用了这个才实现了翻页的功能,现在的问题是动态生成的语句如何传到点击了翻页链接后的页面去。 post页数我已经解决了,但我不可能把sql语句也post过去啊。难道select * from where name='aaa' limit x,x 也用post吗? 我最近也遇到这种问题,还没有解决呢!大家说一下如何post过去?有没有例子? 只需post limit x,x后面的offset值即可 sql语句保存在session中或保存于表单的隐藏域视翻页的方式而定 我解决了,把动态条件传递到下一个页面,比如sql语句是:select * from table where name='aaa' limit x,x就把'aaa'用gets方法传到下一个页面,就可以了,当然还要传递page_number变量 他们所说的post其实就是你的GET参数传递......你仔细想想...就明白了...好多事就这样...自己想通了,也就明白了....不过别人告诉的,哪怕只是一个点.也是非常重要的....... limit 10 表示只提取10条记录limit 15,10 表示提取从第15条开始的10条记录limit $page*10,10$page=0不就是第一页吗?当然总的纪录数要知道 COUNT()一下就可以了 你在本叶添加一个form,在from里添加几个hidden属性的input框,这个form提交给自己1,前一页的条件2,翻页用的几个值for example:<?php $p_maxrow=50; if (empty($resoffset)) { $resoffset=0; } if (empty($pagecnt)) { $pagecnt=1; } include_once("dbfunction.inc"); $FieldStr=" count(*) as rescount "; $TableStr=" ((report_tbl a left join user2_tbl b on b.p_code = a.report_reg_code) "; //レポート発行者No. $TableStr.=" left join user2_tbl c on c.p_code = a.reg_expert_no) "; //登録技術者No. $TableStr.=" left join user2_tbl d on d.p_code=a.mod_code"; //更新者No. $ConditionStr=" true "; ...//这里是条件 $SQLselect=sprintf("select %s from %s where %s",$FieldStr,$TableStr,$ConditionStr); $etdb=new PHPDB(); $etdb->Query($SQLselect); $searchrows=$etdb->FieldByName("rescount"); $etdb->Close(); $pages = $searchrows / $p_maxrow; $pages1 = intval($pages); $compare = $pages - $pages1; switch ($compare){ case "0": $pages=$pages1; break; default : $pages1++; $pages=$pages1; } if ($pageflg=="2") { if ($pagecnt>=$pages) { $pagecnt=$pages; }else{ $pagecnt++; $resoffset=$resoffset+$p_maxrow; } }elseif ($pageflg=="1") { if ($pagecnt<=1) { $pagecnt=1; $resoffset=0; }else{ $pagecnt--; $resoffset=$resoffset-$p_maxrow; } } $FieldStr=" a.*,b.p_name as name1,c.p_name as name2 "; $SQLselect=sprintf("select %s from %s where %s order by a.report_no limit %s offset %s",$FieldStr,$TableStr,$ConditionStr,$p_maxrow,$resoffset); $etdb=new PHPDB(); $etdb->Query($SQLselect);?><?phpif ($searchrows>$p_maxrow and $pages>1) {?><TABLE BORDER="0" WIDTH="680" CELLPADDING="0" CELLSPACING="0"> <TR BGCOLOR="#FFFFFF"> <TD WIDTH="49%" HEIGHT="25"> </TD> <TD WIDTH="2%" HEIGHT="25"> </TD> <TD WIDTH="49%" HEIGHT="25"> </TD> </TR> <TR BGCOLOR="#FFFFFF" ALIGN="center"> <TD WIDTH="49%" HEIGHT="25" ALIGN="right"> <!-- 「前へ」ボタン --> <?php if ($pagecnt>1) { ?> <FORM ACTION="05_2.php" method="post"> <input type="hidden" value="<?php echo $year_touroku ; ?>" name="year_touroku"> <input type="hidden" value="<?php echo $month_touroku ; ?>" name="month_touroku">............................ <input type="hidden" value="<?php echo $pagecnt; ?>" name="pagecnt"> <input type="hidden" value="<?php echo $resoffset; ?>" name="resoffset"> <input type="hidden" value="1" name="pageflg"> <INPUT TYPE="submit" VALUE=" 前へ "> </FORM> <?php } ?> </TD> <TD WIDTH="2%" HEIGHT="25"> </TD> <TD WIDTH="49%" HEIGHT="25" ALIGN="left"> <!-- 「次へ」ボタン --> <?php if ($pagecnt<$pages) { ?> <FORM ACTION="05_2.php" method="post"> <input type="hidden" value="<?php echo $year_touroku ; ?>" name="year_touroku">......... <input type="hidden" value="<?php echo $pagecnt; ?>" name="pagecnt"> <input type="hidden" value="<?php echo $resoffset; ?>" name="resoffset"> <input type="hidden" value="2" name="pageflg"> <INPUT TYPE="submit" VALUE=" 次へ "> </FORM> <?php } ?> </TD> </TR></TABLE><?php}?> php即时聊天,请教方案 关于cookie的问题 求一个Flex php mysql 相结合的例子 数组中,在前页面插入一个值,在线等 Blogmemes中文站开通,欢迎使用!同时散分! $this->add用法是什么? 听说最新的vbb采用了xml输出来大幅度提高了效率? 请问支持PHP+mysql的虚拟主机到哪里申请注册比较经济实惠? 请教新闻小偷的思路,读取网页中的链接并进入链接读取文章 过年好,不过问题还要问啊!! 在接收表单数据时,为何无法使用for循环接收一组有相同命名规则的变量 怎么在页面之间传递多个变量!
视翻页的方式而定
就把'aaa'用gets方法传到下一个页面,就可以了,当然还要传递page_number变量
你仔细想想...
就明白了...好多事就这样...
自己想通了,也就明白了....不过别人告诉的,
哪怕只是一个点.
也是非常重要的.......
limit 15,10 表示提取从第15条开始的10条记录
limit $page*10,10
$page=0不就是第一页吗?当然总的纪录数要知道 COUNT()一下就可以了
1,前一页的条件
2,翻页用的几个值
for example:<?php
$p_maxrow=50;
if (empty($resoffset)) {
$resoffset=0;
}
if (empty($pagecnt)) {
$pagecnt=1;
} include_once("dbfunction.inc"); $FieldStr=" count(*) as rescount ";
$TableStr=" ((report_tbl a left join user2_tbl b on b.p_code = a.report_reg_code) "; //レポート発行者No.
$TableStr.=" left join user2_tbl c on c.p_code = a.reg_expert_no) "; //登録技術者No.
$TableStr.=" left join user2_tbl d on d.p_code=a.mod_code"; //更新者No.
$ConditionStr=" true ";
...//这里是条件 $SQLselect=sprintf("select %s from %s where %s",$FieldStr,$TableStr,$ConditionStr);
$etdb=new PHPDB();
$etdb->Query($SQLselect);
$searchrows=$etdb->FieldByName("rescount");
$etdb->Close(); $pages = $searchrows / $p_maxrow;
$pages1 = intval($pages);
$compare = $pages - $pages1;
switch ($compare){
case "0":
$pages=$pages1;
break;
default :
$pages1++;
$pages=$pages1;
} if ($pageflg=="2") {
if ($pagecnt>=$pages) {
$pagecnt=$pages;
}else{
$pagecnt++;
$resoffset=$resoffset+$p_maxrow;
}
}elseif ($pageflg=="1") {
if ($pagecnt<=1) {
$pagecnt=1;
$resoffset=0;
}else{
$pagecnt--;
$resoffset=$resoffset-$p_maxrow;
}
} $FieldStr=" a.*,b.p_name as name1,c.p_name as name2 ";
$SQLselect=sprintf("select %s from %s where %s order by a.report_no limit %s offset %s",$FieldStr,$TableStr,$ConditionStr,$p_maxrow,$resoffset);
$etdb=new PHPDB();
$etdb->Query($SQLselect);
?>
<?php
if ($searchrows>$p_maxrow and $pages>1) {
?>
<TABLE BORDER="0" WIDTH="680" CELLPADDING="0" CELLSPACING="0">
<TR BGCOLOR="#FFFFFF">
<TD WIDTH="49%" HEIGHT="25"> </TD>
<TD WIDTH="2%" HEIGHT="25"> </TD>
<TD WIDTH="49%" HEIGHT="25"> </TD>
</TR>
<TR BGCOLOR="#FFFFFF" ALIGN="center">
<TD WIDTH="49%" HEIGHT="25" ALIGN="right">
<!-- 「前へ」ボタン -->
<?php
if ($pagecnt>1) {
?>
<FORM ACTION="05_2.php" method="post">
<input type="hidden" value="<?php echo $year_touroku ; ?>" name="year_touroku">
<input type="hidden" value="<?php echo $month_touroku ; ?>" name="month_touroku">
............................ <input type="hidden" value="<?php echo $pagecnt; ?>" name="pagecnt">
<input type="hidden" value="<?php echo $resoffset; ?>" name="resoffset">
<input type="hidden" value="1" name="pageflg">
<INPUT TYPE="submit" VALUE=" 前へ ">
</FORM>
<?php
}
?>
</TD>
<TD WIDTH="2%" HEIGHT="25"> </TD>
<TD WIDTH="49%" HEIGHT="25" ALIGN="left">
<!-- 「次へ」ボタン -->
<?php
if ($pagecnt<$pages) {
?>
<FORM ACTION="05_2.php" method="post">
<input type="hidden" value="<?php echo $year_touroku ; ?>" name="year_touroku">
.........
<input type="hidden" value="<?php echo $pagecnt; ?>" name="pagecnt">
<input type="hidden" value="<?php echo $resoffset; ?>" name="resoffset">
<input type="hidden" value="2" name="pageflg">
<INPUT TYPE="submit" VALUE=" 次へ ">
</FORM>
<?php
}
?>
</TD>
</TR>
</TABLE>
<?php
}
?>