首页 > 编程知识 正文

php无刷新跳转页面(php不跳转页面)

时间:2023-12-24 12:05:47 阅读:320958 作者:MLUT

本文目录一览:

php怎么实现无刷新分页效果

php+ajax实现无刷新分页实现方法具体如下:

limit 偏移量,长度;

limit 0,7; 第一页

limit 7,7; 第二页

limit 14,7; 第三页

每页信息条数:7

信息总条数:select count(*) from table

信息总页数:ceil向上取整(总条数/每页条数)

1、分页类具体使用

?php

class Pagination {

private $total; //数据表中总记录数

private $listRows; //每页显示行数

private $limit; //mysql 数据库的limit

private $uri; //分页信息前面的uri地址

private $pageNum; //页数

private $config = array('header' = "个记录", "prev" = "【上一页】", "next" = "【下一页】", "first" = "【首 页】", "last" = "【尾 页】");

private $listNum = 8;

/*

* $total 当前信息总条数

* $listRows 每页显示的条数

* $pa 下面的page

http://网址/index.php?page=5

*/

public function __construct($total, $listRows = 10, $pa = "") {

$this-total = $total;

$this-listRows = $listRows;

$this-uri = $this-getUri($pa);

$this-page = !empty($_GET["page"]) ? $_GET["page"] : 1;//不传入page,则默认显示首页

$this-pageNum = ceil($this-total / $this-listRows);

$this-limit = $this-setLimit();

}

//设置每页显示的条数

private function setLimit() {

return "Limit " . ($this-page - 1) * $this-listRows . ", {$this-listRows}";

}

//获得URL地址

private function getUri($pa) {

$url = $_SERVER["REQUEST_URI"] . (strpos($_SERVER["REQUEST_URI"], '?') ? '' : "?") . $pa;

$parse = parse_url($url);

if (isset($parse["query"])) {

parse_str($parse['query'], $params);

unset($params["page"]);

$url = $parse['path'] . '?' . http_build_query($params);

}

return $url;

}

//魔术方法,

public function __get($args) {

if ($args == "limit")

return $this-limit;

else

return null;

}

//页面开始的条数

private function start() {

if ($this-total == 0)

return 0;

else

return ($this-page - 1) * $this-listRows + 1;

}

//页面结束的条数

private function end() {

return min($this-page * $this-listRows, $this-total);

}

/*设置首页*/

private function first() {

$html = "";

if ($this-page == 1)

$html.=' '.$this-config["first"].' ';

else

$html.=" a href='javascript:void(0)' onclick='showPage("{$this-uri}page=1")'{$this-config["first"]}/a ";

//$html.=" a href='{$this-uri}page=1'{$this-config["first"]}/a ";

return $html;

}

/*设置上一页*/

private function prev() {

$html = "";

if ($this-page == 1)

$html.=' '.$this-config["prev"].' ';

else

$html.=" a href='javascript:void(0)' onclick='showPage("{$this-uri}page=" . ($this-page - 1) . "")'{$this-config["prev"]}/a ";

//$html.=" a href='{$this-uri}page=".($this-page-1)."'{$this-config["prev"]}/a ";

return $html;

}

//页码列表【首页】【2】【3】…………【尾页】

private function pageList() {

$linkPage = "";

$inum = floor($this-listNum / 2);

for ($i = $inum; $i = 1; $i--) {

$page = $this-page - $i;

if ($page 1)

continue;

$linkPage.=" a href='javascript:void(0)' onclick='showPage("{$this-uri}page={$page}")'{$page}/a ";

}

$linkPage.=" {$this-page} ";

for ($i = 1; $i = $inum; $i++) {

$page = $this-page + $i;

if ($page = $this-pageNum)

$linkPage.=" a href='javascript:void(0)' onclick='showPage("{$this-uri}page={$page}")'{$page}/a ";

else

break;

}

return $linkPage;

}

/*设置下一页*/

private function next() {

$html = "";

if ($this-page == $this-pageNum)

$html.=' '.$this-config["next"].' ';

else

$html.=" a href='javascript:void(0)' onclick='showPage("{$this-uri}page=" . ($this-page + 1) . "")'{$this-config["next"]}/a ";

//$html.=" a href='{$this-uri}page=".($this-page + 1)."'{$this-config["next"]}/a ";

return $html;

}

/*设置尾页*/

private function last() {

$html = "";

if ($this-page == $this-pageNum)

$html.=' '.$this-config["last"].' ';

else

$html.=" a href='javascript:void(0)' onclick='showPage("{$this-uri}page=" . ($this-pageNum) . "")'{$this-config["last"]}/a ";

//$html.=" a href='{$this-uri}page=.(this-pageNum).'{$this-config["last"]}/a ";

return $html;

}

/*设置页面跳转*/

private function goPage() {

return

' input type="text" onkeydown="javascript:if(event.keyCode==13){var page=(this.value' . $this-pageNum . ')?' . $this-pageNum . ':this.value;showPage('' . $this-uri . 'page='+page+'')}" value="' . $this-page . '" style="width:25px"

input type="button" value="GO" onclick="javascript:var page=(this.previousSibling.value' . $this-pageNum . ')?' . $this-pageNum . ':this.previousSibling.value;showPage('' . $this-uri . 'page='+page+'')" ';

}

//页面列表配置选项

function fpage($display = array(0, 1, 2, 3, 4, 5, 6, 7, 8)) {

$html[0] = " 共有b{$this-total}/b{$this-config["header"]} ";

$html[1] = " 每页显示b" . ($this-end() - $this-start() + 1) . "/b条,本页b{$this-start()}-{$this-end()}/b条 ";

$html[2] = " b{$this-page}/{$this-pageNum}/b页 ";

$html[3] = $this-first();

$html[4] = $this-prev();

$html[5] = $this-pageList();

$html[6] = $this-next();

$html[7] = $this-last();

$html[8] = $this-goPage();

$fpage = '';

foreach ($display as $index) {

$fpage.=$html[$index];

}

return $fpage;

}

}

2 数据显示

?php

//链接数据库

//获得具体信息

//分页显示

header("content-type:text/html;charset=utf-8");

$link = mysql_connect('localhost','root','111111');

mysql_select_db('shop', $link);

mysql_query("set names utf8");

$css = eof

style type="text/css"

table {border:1px solid black; width:700px; margin:auto; border-collapse:collapse;}

td {border:1px solid black; }

/style

eof;

echo $css;

echo "

table

trtd序号/tdtd名称/tdtd数量/tdtd价格/tdtd时间/td/tr

";

//1 引入分页类

include "./Pagination.php";

//2. 获得信息总条数

$sql = "select * from sw_goods";

$qry = mysql_query($sql);

$total = mysql_num_rows($qry);

$per = 7;

//3. 实例化分页类对象

$page_obj = new Pagination($total,$per);

//4. 拼装sql语句,获得每页信息

//利用page_obj实现limit的灵活设置

//$page_obj - limit;

$sqla = "select * from sw_goods ".$page_obj-limit;

$qrya = mysql_query($sqla);

//5. 获得页面列表

$pagelist = $page_obj - fpage(array(3,4,5,6,7,8));

$i=1;

while($rsta = mysql_fetch_assoc($qrya)){

echo "tr";

echo "td".$i++."/td";

echo "td".$rsta['goods_name']."/td";

echo "td".$rsta['goods_number']."/td";

echo "td".$rsta['goods_price']."/td";

echo "td".date("Y-m-d H:i:s",$rsta['goods_create_time'])."/td";

echo "/tr";

}

echo "trtd colspan=5".$pagelist."/td/tr";

echo "/table";

3 ajax无刷新分页实现

open(‘get','http://网址/index.php?page=2')

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ""

html

head

title新建网页/title

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

meta name="description" content="" /

meta name="keywords" content="" /

script type="text/javascript"

//获得分页信息ajax函数

function showPage(myurl){

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function(){

if(xhr.readyState==4){

var rst = document.getElementById("result");

rst.innerHTML = xhr.responseText;

}

}

xhr.open("get",myurl);

xhr.send(null);

}

window.onload = function(){

showPage("./data1.php"); //获得分页信息

//showPage("./data.php?page=2");

}

/script

style type="text/css"

/style

/head

body

h2ajax无刷新分页效果/h2

div id="result"/div

/body

/html

script type="text/javascript"

document.write(new Date()+"br /");

document.write(new Date()+"br /");

document.write(new Date()+"br /");

document.write(new Date()+"br /");

/script

php 中如何实现跳转到一个新的页面

php页面自动跳转的几种实现方法:

1.meta标签

2.使用header函数

3.使用JavaScript

方法一:使用meta标签

meta标签是html不可或缺的标签之一,它负责提供文档的元信息,其参数主要有:

① http-equiv: 与文档中数据相关的HTTP文件首部

② content: 与命名HTTP首部相关的数据

③ name: 文档描述

④ url: 与元信息相联系的URL

当我们定义属性http-equiv为refresh,打开此Web页时系统将根据content规定的值在一定时间内跳转到相应页面,

content="秒数;url=网址"就是定义了过多长时间跳转到指定的网址。

以下meta标签告诉系统一秒钟后页面自动跳转到百度首页:

meta http-equiv="refresh" content="1;url="

以上代码需要加在HTTP文档首部中,介于head与/head之间,通常,meta标签是紧跟在head之后。若需要有多个meta标签,

它们可以各占一行。 此法通用于任何环境,包含静态的网站空间。

方法二:使用header函数 

header函数是php内置函数中的HTTP相关函数之一,该函数送出HTTP协议标头到浏览器。

使用它可以重定向URL,即令页面转向其他指定的网页。

以下例子,执行后将自动打开:

header("Location: ");

必须注意,header函数只能用在页面代码中的html标签之前,亦即,HTTP首部尚未有其他任何标头(head)传送给浏览器之前,而且,此前页面也不能print或echo任何内容。换句话说,在页面的html出现前,程序只单纯地处理header事件。

尽管有如此严格的要求,灵活地使用它,仍然可以达成页面的自动跳转功能,比如登录页面,通过判断用户提交的数据是否合法来决定页面跳转到何处。

方法三:使用JavaScript

JS非常灵活,利用它可以做出功能非常强大的程序脚本,这里仅举一个简单的页面自动跳转的JS例子。

以下代码执行后浏览器将自动转到,该代码可放在页面中的任何合法的位置:

<script language="javascript" type="text/javascript"> window.location.href(""); </script>

此代码适用于任何Web环境。若加入定时器,将更加妙不可言

php中刷新页面和跳转页面的几种方法

刷新页面

header("Location:".basename(__FILE__));

//跳转到当前页面,basename(__FILE__)得到的是当前正在执行文件的名称,跳转一下就等于是刷新了

//basename(__FILE__)前面的.一定不能少

跳转页面

header('Location: .***.com/'); //跳转到一个新的地址

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。