php無刷新跳轉頁面(php不跳轉頁面)

本文目錄一覽:

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/’); //跳轉到一個新的地址

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/235623.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:56
下一篇 2024-12-12 11:56

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 打包後頁面空白的解決方案

    當我們在調試階段時,我們的app可能看起來完美無缺,但當我們進行打包時,在運行app時,我們可能會遇到白屏或空白的問題。在這篇文章中,我們將探討如何解決這種問題。 一、檢查文件路徑…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python操作Web頁面

    本文將從多個方面詳細介紹Python操作Web頁面的技巧、方法和注意事項。 一、安裝必要的庫 在Python中操作Web頁面,需要用到一些第三方庫。 pip install req…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • 用vuefavicon管理你的頁面icon標籤

    一、什麼是vuefavicon vuefavicon是一種Vue.js插件,用於動態管理網站的favicon圖標。通常情況下,我們會將網站的icon標籤放置在html文檔的head…

    編程 2025-04-25
  • HTML編寫登錄註冊頁面

    一、HTML做一個登錄註冊頁面簡約 簡約風格一直是大家喜歡的設計風格,下面我們就從簡約風格角度來看HTML如何編寫登錄註冊頁面。 一個簡約的登錄註冊頁面不需要複雜的線條和花哨的背景…

    編程 2025-04-25

發表回復

登錄後才能評論