网站建设资讯

NEWS

网站建设资讯

网页里php操作数据库 php网页例子

如何在WordPress中自定义PHP页面并操作数据库

1. 尝试设置一个页面模板

创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站设计、太平网络推广、重庆小程序开发、太平网络营销、太平企业策划、太平品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供太平建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

1)拷贝一个index.php并改名为其它名,如list.php;

2)在list.php页面最顶部添加

?php /*

Template Name: 友链

*/

?

以上两步就可以创建一个页面模板了,修改并保存好这个文件后,创建一个新页面或者修改已存在的页面。在右下边有个“页面模板”的面板,在下拉菜单中选中“友链”后保存就可以了。

然后在页面中添加任何内容,包括html代码就可以显示了。可是我的需求是要自己完成PHP代码获取数据并展示,它不能这么做。

2. 调用 WordPress 的 API实现URL正确跳转

这种方法的自由度较高,并且可以创建非WordPress格式的URL。比如我们要把 转交给主题文件夹下的 /custom/list.php 来处理,就可以用这种方式来处理。这种方法用到 template redirect 钩子,template redirect 是 WordPress 在预处理好所有参数设置之后决定调用主题模板的时候调用的。

在functions.php模板函数文件中添加以下实例代码:

function loadCustomTemplate($template) {

global $wp_query;

if(!file_exists($template))return;

$wp_query-is_page = true;

$wp_query-is_single = false;

$wp_query-is_home = false;

$wp_query-comments = false;

// if we have a 404 status

if ($wp_query-is_404) {

// set status of 404 to false

unset($wp_query-query["error"]);

$wp_query-query_vars["error"]="";

$wp_query-is_404=false;

}

// change the header to 200 OK

header("HTTP/1.1 200 OK");

//load our template

include($template);

exit;

}

function templateRedirect() {

$basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);

loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php");

}

add_action('template_redirect', 'templateRedirect');

这样就实现了 WordPress 查找 /custom 文件夹下的 php 文件,并且将相匹配的 URL 请求转交给对应的 php 文件来处理的效果,与此同时,这个 php 文件还保持了对 WordPress API 的调用,因此留给我们的空间非常大。

接下来就可以在 /custom 文件夹下自定义一个list.php文件然后通过链接访问。

3. 添加页面内容,获取自定义数据库/表中的内容

然后就可以根据需要自己需要来实现自己想要的功能,这里需要有以下几点要处理:

1)如何操作数据库

WordPress提供了一个全局变量$wpdb,并将其实例化为wpdb类的对象。这样我们就可以直接使用$wpdb来调用所有的数据库操作函数。通过这个$wpdb对象,我们可以对WordPress数据库进行任何操作,包括建表、查询、删除、更新等。使用$wpdb-get_results实现执行sql语句操作数据库,并获取结果。

global $wpdb;

$sql= "SELECT * FROM ".$wpdb-prefix.table;

$a = $wpdb-get_results($sql);

2)使用wordpress的样式

通过F12查看首页代码就可以发现只要使用对应的class样式就能轻松让页面统一规整。那么就把对应的html添加到自定义PHP页面中即可。

3)利用wordpress的规则轻松实现翻页

wordpress已经默认支持翻页,格式如:,只要在自定义的页面里面定义好每页返回正确的内容就好啦。

4. 设置nginx rewrite规则

可读性强的URL一定不能是这样的格式,对爬虫也不友好,那就需要配置好rewrite规则,我使用的是nginx的配置为:

rewrite ^(.*)/indexed/page/([0-9]+)$ $1/indexed?page=$2 last;

到现在为止,离成功只有一步之遥了,那就是新建一个页面, 大功告成!

PHP操作mysql数据库的步骤

PHP访问MySQL数据库:

因为连接数据库需要较长的时间和较大的资源开销,所以如果在多个网页中都要频繁地访问数据库,则可以建立与数据库的持续连接。即调用mysql_pconnect()代替mysql_connect()。

基本步骤:

1.连接服务器:mysql_connect();

2.选择数据库:mysql_select_db();

3.执行SQL语句:mysql_query();

查询:select

显示:show

插入:insert

into

更新:update

删除:delete

4.关闭结果集:mysql_free_result($result);

5.关闭数据库:mysql_close($link);

php中选择打开数据库的方法是

在mysql数据库中,创建一个test数据库,用于测试。

请点击输入图片描述

新建一个php文件,命名为test.php,用于讲解php如何选择要操作的数据库。

请点击输入图片描述

在test.php文件中,使用header()方法将页面的编码格式设置为utf-8,避免输出中文乱码。

请点击输入图片描述

在test.php文件中,使用mysql_connect()函数,通过账号和密码创建一个数据库的连接。

请点击输入图片描述

在test.php文件中,再使用mysql_select_db()函数选择要操作的数据库test,选择数据库成功,则返回true,否则,返回false。最后,通过if语句判断结果。

请点击输入图片描述

在浏览器打开test.php文件,查看结果。

请点击输入图片描述

END

总结:

1、创建一个test数据库。

2、使用mysql_connect()函数创建一个数据库的连接。

3、再使用mysql_select_db()函数选择要操作的数据库test,并通过if语句判断结果。

PHP网站怎么连接到数据库?

常规方式

常规方式就是按部就班的读取文件了。其余的话和上述方案一致。

// 读取配置文件内容

$handle = fopen("filepath", "r");            $content = fread($handle, filesize("filepath"));123

PHP解析XML

上述两种读取文件,其实都是为了PHP解析XML来做准备的。关于PHP解析XML的方式的博客有很多。方式也有很多,像simplexml,XMLReader,DOM啦等等。但是对于比较小型的xml配置文件,simplexml就足够了。

配置文件

?xml version="1.0" encoding="UTF-8" ?mysql

!-- 为防止出现意外,请按照此标准顺序书写.其实也无所谓了 --

hostlocalhost/host

userroot/user

password123456/password

dbtest/db

port3306/port/mysql12345678910

解析

?php/**

* 作为解析XML配置文件必备工具

*/class XMLUtil {

public static $dbconfigpath = "./db.config.xml";    public static function getDBConfiguration() {

$dbconfig = array ();        try {            // 读取配置文件内容

$handle = fopen(self::$dbconfigpath, "r");            $content = fread($handle, filesize(self::$dbconfigpath));            // 获取xml文档根节点,进而获取相关的数据库信息

$mysql = simplexml_load_string($content);            // 将获取到的xml节点信息赋值给关联数组,方便接下来的方法调用

$dbconfig['host'] = $mysql-host;            $dbconfig['user'] = $mysql-user;            $dbconfig['password'] = $mysql-password;            $dbconfig['db'] = $mysql-db;            $dbconfig['port'] = $mysql-port;            // 将配置信息以关联数组的形式返回

return $dbconfig;

} catch ( Exception $e ) {            throw new RuntimeException ( "mark读取数据库配置文件信息出错!/markbr /" );

}        return $dbconfig;

}

}1234567891011121314151617181920212223242526272829

数据库连接池

对于PHP程序而言,优化永无止境。而数据库连接池就在一定程度上起到了优化的作用。其使得对用户的每一个请求而言,无需每次都像数据库申请链接资源。而是通过已存在的数据库连接池中的链接来返回,从时间上,效率上,都是一个大大的提升。

于是,这里简单的模拟了一下数据库连接池的实现。核心在于维护一个“池”。

从池子中取,用毕,归还给池子。

?php/**x

*  PHP中的数据库 工具类设计

*  郭璞

*  2016年12月23日

*

**/class DbHelper {    private $dbconfig;    private $dbpool;    public $poolsize;    public function __construct($poolsize = 20) {        if (! file_exists ( "./utils.php" )) {            throw new RuntimeException ( "markutils.php文件丢失,无法进行配置文件的初始化操作!/markbr /" );

}else {

require './utils.php';

}        // 初始化 配置文件信息

$this-dbconfig = XMLUtil::getDBConfiguration ();        // 准备好数据库连接池“伪队列”

$this-poolsize = $poolsize;

$this-dbpool = array ();        for($index = 1; $index = $this-poolsize; $index ++) {

$conn = mysqli_connect ( $this-dbconfig ['host'], $this-dbconfig ['user'], $this-dbconfig ['password'], $this-dbconfig ['db'] ) or die ( "mark连接数据库失败!/markbr /" );

array_push ( $this-dbpool, $conn );

}

}    /**

* 从数据库连接池中获取一个数据库链接资源

*

* @throws ErrorException

* @return mixed

*/

public function getConn() {        if (count ( $this-dbpool ) = 0) {            throw new ErrorException ( "mark数据库连接池中已无链接资源,请稍后重试!/mark" );

} else {            return array_pop ( $this-dbpool );

}

}    /**

* 将用完的数据库链接资源放回到数据库连接池

*

* @param unknown $conn

* @throws ErrorException

*/

public function release($conn) {        if (count ( $this-dbpool ) = $this-poolsize) {            throw new ErrorException ( "mark数据库连接池已满/markbr /" );

} else {

array_push ( $this-dbpool, $conn );

}

}

}


本文标题:网页里php操作数据库 php网页例子
文章链接:http://cdweb.net/article/ddshogj.html