php自定义数据库设计 php数据库课设( 二 )


然后在页面中添加任何内容,包括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的小型电影网站,如何设计数据库?可以参看discuz数据库表帖子,和帖子附件的设计,我的大概思路是这样的:
首先建立一个数据表"film"用来保存简短文字信息,其中包含:电影发布时有名字 , 主演 , 简介,归属栏目,发布电影的URL链接 。在创建一个表(考虑到是小型网站 , 如果中型的话,可以选择10个,像discuz一样)"attachement",用来保存,上传截图 , 上传视频 。这个表用一个外键与film表连接 。中间在外键上加索引 。

推荐阅读