2012-02-15 78 views
1

我一直在编写一个小博客系统来提高我对PHP的知识,而且我很开心编写它。我一直在使用一个页面,加上jQuery的pajinate插件,通过一页显示我的所有博客条目。但是,我的问题是,我可以生成一个页面,显示一个ID为2的博客文章?PHP - 基于MySQL查询生成页面

我想要做的是生成文章,但将其转储到页面(content/article-name-here.php)。有没有自动化过程的方法?

(很抱歉,如果现在还不清楚)

+2

你确实想要生成一个文件,还是只是文件的外观?后者是PHP的首选方法,也是mod_rewrite的强大功能之一。 – 2012-02-15 17:33:31

+0

建议。 1)不要在标题中设置“.php”。寻找无扩展名的网址。 mod_rewrite是一个非常简单的工具,可以让你这样做。 2)而不是使用ID,有一个独特的索引在数据库上的slu ie,即'article-name-here' – Fenton 2012-02-15 17:42:05

+0

我已经有一个简单的重写系统:D – Adil 2012-02-15 17:52:20

回答

2

这是一个基本的SQL查询:

SELECT * FROM blogEntries WHERE id=2 

(注意:除非你实际使用所有的数据不要使用SELECT *)

我已经完成了与您相同的项目,创建了一个简单的博客引擎,并为通用列表和单个文章使用相同的页面。

使用URL如example.com/?blogId=2您可以修改您的查询:

$SQL = 'SELECT * FROM blogEntries'; 
//if $_GET['id'] has a value, append it to query 
if(isset($_GET['id'])){ 
    $SQL .= 'WHERE id=' . $_GET['blogId']; 
}; 
//Execute SQL Query 
//process your data as you want it to appear 

如果你想为每个博客条目的自定义网址,你会想在看向mod_rewrite的: http://www.workingwith.me.uk/articles/scripting/mod_rewrite

+0

即使使用所有字段(或者我听说过),也不应该使用'SELECT *'。 – 2012-02-15 17:39:02

+2

如果您不使用所有字段,则针对SELECT *的参数是基于性能的。如果您打算使用所有字段,则反对使用它的说法是基于维护代码AFAIK。 – 2012-02-15 18:08:24