1和2:mysql的 dateadd()和datediff 函数看一下取50条记录 可以用select * from table limit 50
解决方案 »
- html的问题
- 用phpmailer类发邮件遇到的问题
- PHP中时局库的查询与显示问题,望高手帮忙!谢谢先~
- 大家对include和require有什么看法?
- Php+MSSQL 查询10万以上记录出现错误码:Fatal error: Maximum execution time of 30 seconds exceeded in
- 小经验
- 这个句子缺引号么?在线等待
- 那里有好的源码下载,来者给分!
- 小菜虎,再问一个问题
- 菜鸟求助,php 在后台编辑、预览某条新闻,获取不到ID
- 这样一个exe文件怎样实现防止盗链的?不可思议
- 怎样从一个变量中截取一段前面一段字符?截止到一个规定的字符串的第二次出现
offset=(page-1)*pagesize
page是当前请求页
我要取库里面时间早于当前时间三个月的所有记录!
还有一个是怎么取记录,一次取50条,当点击NEXT链接时再显示下五十条!
=============================
DB Name leavewords
TB Name words (共有100条留言)
我想当进入readwords.php时先显示前20条留言
若不为最后一页(共可显示5页)自动加入超链接 Next
当点选 Next 显示下一页从21条开始
Next event 怎么写?
======================
若定义一个php函数show()
<div onclick=<? show();?>>Next</div>
不用点就执行了,
我应该用什么方法可以实现?
========================
谢谢!
目的:
PHP查询数据库(MySQL)选出所有留言,每次显示20条,在每一页上自动加入导航如NEXT.
还有一问,PHP如何在当前页面中使用函数。如:
当用户点击提交时调用已定义的函数,我试过当我定义好函数后,在相应事件写好调用函数,可当页面被解析时相应事件所要调用的函数已被调用执行·所以我只好把一个留言这个简单的程序写成了三段,一个登录页login.php只完成登录,登录后转到read.php,留言时使用leavewords.php,完成后再到read.php真是很烦,可以封装到一页吗
比方说当前时间为0,0,0,12,32,2000那么前一个小时的写法就是,取得当前时间的方法可以参阅date的帮助
echo date( "M-d-Y", mktime(0-1,0,0,12,32,2000) );
至于分页这里有一个分页类
<?php
/**
* 一个用于Mysql数据库的分页类 *
*
* 使用实例:
* $p = new show_page; //建立新对像
* $p->file="ttt.php"; //设置文件名,默认为当前页
* $p->pvar="pagecount"; //设置页面传递的参数,默认为p
* $p->setvar(array("a" => '1', "b" => '2')); //设置要传递的参数,要注意的是此函数必须要在 set 前使用,否则变量传不过去
* $p->set(20,2000,1); //设置相关参数,共三个,分别为'页面大小'、'总记录数'、'当前页(如果为空则自动读取GET变量)'
* $p->output(0); //输出,为0时直接输出,否则返回一个字符串
* echo $p->limit(); //输出Limit子句。在sql语句中用法为 "SELECT * FROM TABLE LIMIT {$p->limit()}";
*
*/
class show_page { /**
* 页面输出结果
*
* @var string
*/
var $output; /**
* 使用该类的文件,默认为 PHP_SELF
*
* @var string
*/
var $file; /**
* 页数传递变量,默认为 'p'
*
* @var string
*/
var $pvar = "p"; /**
* 页面大小
*
* @var integer
*/
var $psize; /**
* 当前页面
*
* @var ingeger
*/
var $curr; /**
* 要传递的变量数组
*
* @var array
*/
var $varstr; /**
* 总页数
*
* @var integer
*/
var $tpage; /**
* 分页设置
*
* @access public
* @param int $pagesize 页面大小
* @param int $total 总记录数
* @param int $current 当前页数,默认会自动读取
* @return void
*/
function set($pagesize=20,$total,$current=false) {
global $HTTP_SERVER_VARS,$HTTP_GET_VARS; $this->tpage = ceil($total/$pagesize);
if (!$current) {$current = $HTTP_GET_VARS[$this->pvar];}
if ($current>$this->tpage) {$current = $this->tpage;}
if ($current<1) {$current = 1;} $this->curr = $current;
$this->psize = $pagesize; if (!$this->file) {$this->file = $HTTP_SERVER_VARS['PHP_SELF'];} if ($this->tpage > 1) {
if ($current>10) {
$this->output.='<a href='.$this->file.'?'.$this->pvar.'='.($current-10).($this->varstr).' title="前十页"><<<</a> ';
}
if ($current>1) {
$this->output.='<a href='.$this->file.'?'.$this->pvar.'='.($current-1).($this->varstr).' title="前一页"><<</a> ';
} $start = floor($current/10)*10;
$end = $start+9; if ($start<1) {$start=1;}
if ($end>$this->tpage) {$end=$this->tpage;} for ($i=$start; $i<=$end; $i++) {
if ($current==$i) {
$this->output.='<font color="red">'.$i.'</font> '; //输出当前页数
} else {
$this->output.='<a href="'.$this->file.'?'.$this->pvar.'='.$i.$this->varstr.'">['.$i.']</a> '; //输出页数
}
} if ($current<$this->tpage) {
$this->output.='<a href='.$this->file.'?'.$this->pvar.'='.($current+1).($this->varstr).' title="下一页">>></a> ';
}
if ($this->tpage>10 && ($this->tpage-$current)>=10 ) {
$this->output.='<a href='.$this->file.'?'.$this->pvar.'='.($current+10).($this->varstr).' title="下十页">>>></a>';
}
}
} /**
* 要传递的变量设置
*
* @access public
* @param array $data 要传递的变量,用数组来表示,参见上面的例子
* @return void
*/
function setvar($data) {
foreach ($data as $k=>$v) {
$this->varstr.='&'.$k.'='.urlencode($v);
}
} /**
* 分页结果输出
*
* @access public
* @param bool $return 为真时返回一个字符串,否则直接输出,默认直接输出
* @return string
*/
function output($return = false) {
if ($return) {
return $this->output;
} else {
echo $this->output;
}
} /**
* 生成Limit语句
*
* @access public
* @return string
*/
function limit() {
return (($this->curr-1)*$this->psize).','.$this->psize;
}} //End Class
?>