
正文
php分页跳转数据库 php分页显示
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
WORDPRESS 中新建网页用PHP链接了MYSQL数据库,调用到的数据生成分页但为什么分页不能跳转显示不存在URL
回答这个问题有些吃力,你最好也还是需要增加点PHP知识。
你说前提是用WP来做网站,则数据库得做统一,比如说:
你的WP数据库设定为wordpress,那么需要将你另外两个数据库中的6个表,通过PHPMYADMIN或其他数据库管理软件,放到wordpress这个数据库中。
这样在使用$wpdb这个全局类时,可以免去切换数据库的麻烦。
当你将6个表放在wordpress后,设置WP下的wp-config.php,如下:
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** ///** WordPress数据库的名称 */define('DB_NAME', 'wordpress'); /** MySQL数据库用户名 */define('DB_USER', 'root'); /** MySQL数据库密码 */define('DB_PASSWORD', ''); /** MySQL主机 */define('DB_HOST', 'localhost'); /** * WordPress数据表前缀。 * * 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置 * 不同的数据表前缀。前缀名只能为数字、字母加下划线。 */$table_prefix = 'wp_';
这里需要注意,如果你拷贝进去的6个数据表没有前缀,这里需要设置为空。
当你设置好后,并能正常安装wordpress,后台可以正常访问,再继续下一步。
在网站根目录下,新建demo.php文件,添加如下代码
?php//载入wordpress核心文件require('./wp-blog-header.php'); //声明全局变量$wpdbglobal $wpdb; //页码获取$page = isset( $_QUEST['page'] ) $_QUEST['page'] ? (int)$_QUEST['page'] : 1; //每页显示多少条$posts_per_page = 50;$pgstrt = ($page - 1) * $posts_per_page . ', '; $limits = 'LIMIT ' . $pgstrt . $posts_per_page; $select = "SELECT * FROME $wpdb.[指定你要查询的数据表] "; $where = " 1=1 "; //查询数据库返回数据集$results = $wpdb-get_results( $select . $where . $limits, 'ARRAY_A' ); //表格输出?table thead tr th表格标题:1/th th表格标题:2/th th表格标题:3/th th表格标题:4/th th表格标题:5/th /tr /thead tbody tr?php $i = 1; //循环遍历数据集,输出表格单元 foreach( $results as $k = $r ){? td?php echo $r-字段名1; ?/td td?php echo $r-字段名2; ?/td td?php echo $r-字段名3; ?/td td?php echo $r-字段名4; ?/td td?php echo $r-字段名5; ?/td?php if ( $i 5 ) { //输出时换行 echo "/trtr"; $i = 1; } $i++; }? /tr /tbody/table
整个代码可能略显简单,但演示了$wpdb的分布查询,以及数据输出部分。
仅提供给你参考,希望有所帮助。
相关问答
Q1: php 查询数据库 分页
说明你点下一页的时候,查询条件没有获取到,下一页的是连接,所以接受数据参数的时候需要用$_GET 来接收,提交的时候也需要用get方法提交,这样才能保证参数不会丢失,点击下一页的时候限制条件保持一致
Q2: php分页 直接输入跳转怎么实现
htmlhead
title分页示例(php/title
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/head
body
?php
$pagesize=10; //设定每一页显示的记录数
$conn=mysql_connect("localhost","root","jrq");
mysql_select_db("sj",$conn);
$rs = mysql_query( "select * from `dw_newsdata`",$conn); //这里有第二个可选参数,指定打开的连接
//-----------------------------------------------------------------------------------------------//
//分页逻辑处理
//-----------------------------------------------------------------------------------------------
$tmpArr = mysql_fetch_array($rs);
$numAL = mysql_num_rows($rs); //取得记录总数$rs
$pages=intval($numAL/$pagesize); //计算总页数
if ($numAL % $pagesize) $pages++;
//设置缺省页码
//↓判断“当前页码”是否赋值过
if (isset($_GET['page'])){ $page=intval($_GET['page']); }else{ $page=1; }//否则,设置为第一页
//↓计算记录偏移量
$offset=$pagesize*($page - 1);
//↓读取指定记录数
$rs=mysql_query("select * from `dw_newsdata` limit $offset,$pagesize",$conn);//取得—当前页—记录集!
$curNum = mysql_num_rows($rs); //$curNum - 当前页实际记录数,for循环输出用
?
table border="0" width="80%"
tr
td width="50%" bgcolor="#E0E0E0"标题/td
td width="50%" bgcolor="#E0E0E0"发布时间/td
/tr
?php
while ($tmpArr = mysql_fetch_array($rs)) //提取一行,并循环判断
{
$i=0;
// for($a=0;$a$ColNum;$a++) //==for结束==
?
tr
td width="50%"?= $tmpArr[1]; //$tmpArr["news_title"] ; ?/td
td width="50%"?php echo $tmpArr[2]; //$tmpArr["news_cont"]; ?/td
/tr
?php
}//==while结束==
?
/table
?php
//============================//
// 翻页显示 一
//============================//
echo "p"; // align=center
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;
if ($page 1)
{
echo "a href='?page=".$first."'首页/a ";
echo "a href='?page=".$prev."'上一页/a ";
}
if ($page $pages)
{
echo "a href='?page=".$next."'下一页/a ";
echo "a href='?page=".$last."'尾页/a ";
}
//============================//
// 翻页显示 二
//============================//
echo " | 共有".$pages."页(".$page."/".$pages.")";
for ($i=1;$i $page;$i++){echo "a href='?page=".$i."'[".$i ."]/a ";} // 1-先输出当前页之前的
if ($page 0) echo "[".$page."]";; // 2-再输出当前页
for ($i=$page+1;$i=$pages;$i++){echo "a href='?page=".$i."'[".$i ."]/a ";}// 3-接着输出当前页之后
echo "转到第 INPUT maxLength=3 size=3 value=".($page+1)." name=gotox 页 INPUT hideFocus onclick=\"location.href='?page=gotox.value';\" type=button value=Go name=cmd_goto";
echo "/p";
?
/body
/html
Q3: PHP中查找数据库的数据然后在php页面分页显示,只能显示第一页的数据
你的页面跳转, 要把原来有的get参数一同传递下去!
因为, 如果你第一页就是根据相关get参数查询的数据库, 而你在下一页没有提供这个参数, 当然会查询不到!
get参数是在当前页面有效的, 一般, get参数是url提供, 你url有就有, 没有就没有, 不是你提供一次, 人家就会给你保存一辈子!
例外, 你这个php文件, 功能其实很简单对吧?但你有没有觉得, 代码密密麻麻呢?
如果让你写一个大型网站, 那你的代码岂不是要用东风牌大卡车来装呢?
Q4: PHP显示很多数据库信息,如何自动分页呢?代码
这是我以前学php写的 哈哈 你可以看看
?php
/**
* 分页类
* 1.实例化分页类,例:mypage new page("SQL语句","每页显示记录条数");
* 2.调用类中的 genpage() 方法,返回分页生成的SQL语句;
* 3.执行新生成的SQL语句;
* 4.调用 showpage_1() 或 showpage_2() 方法显示分页的翻页(可也以自定义返回显示的方式)
* 实例:
* $page = new page("select * from ly",2);
* $sql=$page-genpage();
* $ar=mysql_query($sql);
* while($nu=mysql_fetch_array($ar)){
* echo $nu[0].'br';
* }
* $page-showpage_2();
*/
class page{
private $totalnum; //总记录数
private $pagecount; //总页数
private $f_pagenum; //当前页的第一条记录
private $sql;
private $page; //当前页
private $page_size; //每页显示数量
private $pagesql;
private $total;
private $url; //当前页url
private $beforepage; //上一页
private $nextpage; //下一页
function __construct($sql,$page_size){ //传入sql语句和每页显示条数
$this-sql=$sql;
$this-page_size=$page_size;
$this-page=is_numeric($_GET[page]);
$this-page=substr($this-page,0,10);
$this-page=mysql_real_escape_string($this-page);
if(ereg("^[0-9]*[1-9][0-9]*$",$this-page)!=1){
$this-page=1;
}
if($this-page99999999){
$this-page=1;
}
}
function genpage(){
//
// if(!$this-page){
// $this-page=1;
// }
$this-pagesql = strstr($this-sqlcz," from ");
$this-pagesql = "select count(*) as ids ".$this-pagesql;
$this-total=mysql_query($this-sql);
$this-totalnum=mysql_num_rows($this-total); //总记录数
$this-pagecount=ceil($this-totalnum/$this-page_size); //总页数
$this-f_pagenum=$this-page_size*($this-page-1); //当前页的第一条记录
$this-sql .=" limit $this-f_pagenum,$this-page_size ";
return $this-sql;
}
//替换url中的page的页数
function replace_page($npage){
$this-url=$_SERVER["REQUEST_URI"]; //获取当前url
$check = strpos($this-url, 'page='); //判断url中是否有page分页参数
if($check==false){ //如果没有page分页参数
if(strpos($this-url, '?')==false){ //判断是否url是否有“ ?”号,
$this-url=$this-url."?page=1"; //如果没有“ ?”号,说明之前url没有参数
}else{
$this-url=$this-url."page=1"; //如果有“ ?”号,说明有参数,追加参数要改用符号
}
}
$npage="page=".$npage; //跳转到的页
$zz='[page=\d*]';
return preg_replace($zz,$npage,$this-url); //正则替换掉url中的page参数,实现分页
}
//显示总页数
function show_all_page(){
return $this-pagecount;
}
//显示当前页
function show_current_page(){
return $this-page;
}
//显示首页和上一页
function show_firstAndup_page(){
if($this-page==1){
return "首页|上一页";
}else{
$this-beforepage=$this-page-1;
return "a href=".$this-replace_page(1)."首页/a|a href=".$this-replace_page($this-beforepage)."上一页/a";
}
}
//显示下一页和最后页
function show_lastAnddown_page(){
if(($this-page==$this-pagecount)||($this-pagecount==0)){
return "下一页|尾页";
}else{
$this-nextpage=$this-page+1;
return "a href=".$this-replace_page($this-nextpage)."下一页/a|a href=".$this-replace_page($this-pagecount)."尾页/a";
}
}
//循环显示页数
function show_loop_page(){
$shownum =10/2;
$startpage = ($this-page$shownum)?$this-page-$shownum:1;
$endpage = ($this-page+$shownum=$this-pagecount)?$this-page+$shownum:$this-pagecount;
for($i=$startpage;$i=$endpage;$i++)
{
if($i==$this-page) {
$a= " b[".($i)."]/b ";
}else{
$a= " a href=".$this-replace_page($i)."".($i)."/a ";
}
$b=$b.$a;
}
return $b;
}
//整体显示第一种方案
function showpage_1(){
return "共".$this-show_all_page()."页nbsp"."当前第".$this-show_current_page()."页nbsp".$this-show_firstAndup_page()."nbsp"
.$this-show_loop_page()."nbsp".$this-show_lastAnddown_page();
}
//整体显示第二种方案
function showpage_2(){
return $this-show_firstAndup_page()."nbsp".$this-show_loop_page()."nbsp".$this-show_lastAnddown_page();
}
}
?
php分页跳转数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php分页显示、php分页跳转数据库的信息别忘了在本站进行查找喔。







