Php自定义查询数据标签 php实现简单的查询功能

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

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

创新互联公司网络公司拥有十年的成都网站开发建设经验,1000+客户的共同信赖。提供成都网站设计、成都做网站、网站开发、网站定制、外链、建网站、网站搭建、成都响应式网站建设、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务

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如果给数据添加标签,方便下次寻找?

在 数据表 的基础上 加一个标签表 再加一个数据标签关联表 然后根据数据ID去查找 标签,也可以根据标签 查找出数据

自定义数据接口

cms提供直接输出、PHP代码体两种方便开发者使用的数据输出接口。

1、直接输出

本类型是将后台录入的数据格式原样输出到客户端

返回格式为:

array(3) { ["code"]= int(1) ["msg"]= string(2) "ok" ["data"]= string(7) "test123" }

2、JSON数组

本类型数据内容必须是一个json格式的数组字符串

返回格式为:

array(3) { ["code"]= int(1) ["msg"]= string(2) "ok" ["data"]= array(3) { [0]= string(1) "1" [1]= string(1) "2" [2]= string(1) "3" } }

3、php执行代码

4、模板查询标签

本类型需要有CMS模板标签的使用经验,直接写标签代码返回结果

例如调用news模块全部数据:

{module module=news} 或者 {list action=module module=news}

模板标签只能写一段,不能写多段

通过以上的list查询方法可调用循环标签的全部数据,当然你可以对结果进行格式化处理,使用回调方法。

5、自定义模板标签

本类型需要有CMS模板标签的使用经验,直接写标签代码返回结果,区别于(4),本类型可以直接在标签里面写赋值方法和格式化显示,不需要写回调方法

这里循环出news模块的全部数据,只显示id,title,再把thumb转换为url地址。

也可以这样写,原理是将输出变量赋值给$api数组:

{module module=news} {php $api[$key]['id']=$t['id'];} {php $api[$key]['title']=$t['title'];} {php $api[$key]['thumb']=dr_thumb($t['thumb'], 200,200);} {/module}

以上语法格式为:

6、自定义PHP代码

本类型需要有PHP的开发使用经验,直接将php业务代码写进去

$api变量为直接返回,例如:

$api = '我的自定义返回变量值';

返回截图如下:

也可以自定义强制返回

$api = '我的自定义返回变量值'; PhpcmfService::C()-_json(1, '我的返回脚本成功了', $api); // 成功写法 PhpcmfService::C()-_json(0, '我的返回脚本失败了'); // 失败写法

php搜索查询数据库数据

查看一下代码:

?php

// 获取表单提交值

$student_id = intval(trim($_POST['student_id']));

// 页面表单  可以放单独的html文件中,如果放单独的html页面中 form 的action的地址要改成下面的PHP文件名

echo 'form action="" method="post"

input type="text" name="student_id" value="{$student_id}"/

input type="submit" name="submit" value="查询"/

/form';

// 当有数据提交时

if ($student_id)

{

$con= mysql_connect("localhost","root","111") or die("连接错误");

mysql_select_db("examination",$con);

// 查询

$sql = "SELECT * FROM tablename WHERE student_id = $student_id ";

$res=mysql_query($sql);

$row=mysql_fetch_array($res);

// 输出

echo '学号:'.$row['student_id'].'br姓名:'.$row['name'].'br性别:'.$row['gender'].'br分数:'.$row['score'];

}

?

PHP SMARTY模板的自定义标签开发思路? - PHP进阶讨论

smarty如何实现这样的功能呢,希望高手给点思路哦{smarty:list cid=10 row=8 ordering=pubdate}{$list.title}{/smarty}读取文章列表 cid??栏目ID是10 row 显示8行 pudate 按照发布时间排序

php 标签定义可选数据的列表。怎么做到下拉的 时候还带图片 ,和跳转功能

你是想说百度的实时搜索那样的功能吗?

百度不是用datalist,是根据输入的关键词用AJAX技术到服务器端拿到这个关键词相关的热门搜索再放到一个普通的ul下面,用li循环出来的

而且datalist这个标签很多浏览器不兼容,不建议使用


分享文章:Php自定义查询数据标签 php实现简单的查询功能
文章位置:http://ybzwz.com/article/hepcgo.html