我的数据库显示在页面是这样
因为数据太多了谁能帮我做个分页 下方为原码 可以的话请直接帮我添加
mysql_select_db("usersall", $conn);
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);
$sql = "SELECT * FROM db_punish_logs order by timestamp desc ";
$result = mysql_query($sql);
echo "<table border=1>";
while($row = mysql_fetch_array($result))
{
$steam_id=$row['steam_id'];
$timestamp=$row['timestamp'];
$reason=$row['reason'];
$details=$row['details'];
echo "<tr>";
echo "<td>$steam_id</td>";
echo "<td>$timestamp/td>";
echo "<td>$reason</td>";
echo "<td>$details</td>";
echo "</tr>";
}
echo "<table />";
?>
</div>
* @todo 分页
* @param $count 总条数
* @param $pagesize 每页显示条数
* @param $nowpagenum 当前页码
* @return String HTML
* @example
* $count = 45; //数据库查询到的数据总数
$pagesize = 10; //每页展示的条数
$nowpagenum = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1 ; //获取当前的页码,默认没有的时候为1
$page = $this->PageNum($count, $pagesize ,$nowpagenum);
*
*/
public function PageNum($count , $pagesize , $nowpagenum){
//计算页码
$pagenum = ceil(($count/$pagesize));
/***设定当前页在第一页当时无GET页码时默认为1***/
$nowpagenum = empty($nowpagenum) ? 1 : $nowpagenum;
/*****解析URL******/
$url = $_SERVER['REQUEST_URI'];
$urlArr = explode('?', $url);
if(count($urlArr)==1){
$newurl = $url.'?page=';
}else{
$params = array();
$newurl = '';
$newParams = array();
$paramsArr = explode('&', $urlArr[1]);
if(count($paramsArr)==1){
$getParams = explode('=', $paramsArr[0]);
$params[$getParams[0]] = $getParams[1];
$newurl = $urlArr[0].'?page=';
}else{
for($j=0;$j<count($paramsArr);$j++){
$getParams = explode('=', $paramsArr[$j]);
$params[$getParams[0]] = $getParams[1];
}
if(isset($params['page'])){
unset($params['page']);
foreach($params as $key=>$value){
$newParams[] = $key.'='.$value;
}
$newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';
}else{
foreach($params as $key=>$value){
$newParams[] = $key.'='.$value;
}
$newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';
}
}
}
/****拼装页码显示HTML代码****/
$html='';
if(isset($count) && isset($pagesize)){
//one page
if($count <= $pagesize){
$html = '<span>上一页</span><span>1</span><span>下一页</span>';
//no record
}else if($count == 0){
$html = '暂未记录!';
//大于一页小于等于6页
}else if($count > $pagesize && $pagenum <= 6){
if($nowpagenum==1){
$html .= '<span>上一页</span>';
}else{
$html .= '<span><a href="'.$newurl.''.($nowpagenum-1).'">上一页</a></span>';
}
for($i=1;$i<=$pagenum;$i++){
if($i==$nowpagenum){
$html .= '<span>'.$i.'</span>';
}else{
$html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';
}
}
if($nowpagenum==$pagenum){
$html .= '<span>下一页</span>';
}else{
$html .= '<span><a href="'.$newurl.''.($nowpagenum+1).'">下一页</a></span>';
}
}else{
if($nowpagenum==1){
$html .= '<span>上一页</span>';
}else{
$html .= '<span><a href="'.$newurl.''.($nowpagenum-1).'">上一页</a></span>';
}
if(($pagenum-$nowpagenum)>5){
if($nowpagenum<=3){
for($i=1;$i<=3;$i++){
if($i==$nowpagenum){
$html .= '<span>'.$i.'</span>';
}else{
$html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';
}
}
}else{
for($i=$nowpagenum-2;$i<=$nowpagenum;$i++){
if($i==$nowpagenum){
$html .= '<span>'.$i.'</span>';
}else{
$html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';
}
}
}
$html .= '<span>...</span>';
for($j=$pagenum-2;$j<=$pagenum;$j++){
if($j==$nowpagenum){
$html .= '<span>'.$j.'</span>';
}else{
$html .= '<span><a href="'.$newurl.''.$j.'">'.$j.'</a></span>';
}
}
}else{
for($i=$pagenum-5;$i<=$pagenum;$i++){
if($i==$nowpagenum){
$html .= '<span>'.$i.'</span>';
}else{
$html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';
}
}
}
if($nowpagenum==$pagenum){
$html .= '<span>下一页</span>';
}else{
$html .= '<span><a href="'.$newurl.''.($nowpagenum+1).'">下一页</a></span>';
}
}
}
return $html;
}
这个是一个简易的分页方法,参考后更改下你的limit后面的属性值就可以达到分页效果了。
追问limit 的属性值在哪 .. 我是一个php超级新手
追答$sql = "SELECT * FROM db_punish_logs order by timestamp desc ";SQL语句里面自己加。
追问我LIMIT成功了 可是贴上你的语法..