2012-02-15 2 views
1

Я писал небольшую систему ведения блога, чтобы продвинуть свои знания PHP, и мне интересно писать ее. Я использовал одну страницу в сочетании с плагином jQuery для отображения всех записей в блоге через одну страницу. Однако, мой вопрос здесь, могу ли я создать страницу, которая отображает статью в блоге с идентификатором 2?PHP - Создание страниц на основе запросов MySQL

Что я хочу сделать, это сгенерировать статью, но выгрузить ее на страницу (content/article-name-here.php). Есть ли способ автоматизации процесса?

(Извините, если это не ясно)

+2

ли вам на самом деле хотите, чтобы файл был сгенерирован, или просто внешний вид файла? Последний является предпочтительным методом и одной из удивительных возможностей PHP в сочетании с mod_rewrite. –

+0

Рекомендации. 1) Не стремись иметь «.php» в названии. Переходите на неограниченные URL-адреса. mod_rewrite - очень простой инструмент, который позволит вам это сделать. 2) Вместо того, чтобы использовать идентификатор, введите уникальный индекс в slug в базе данных, то есть «article-name-here» – Fenton

+0

У меня уже есть простая система перезаписи: D – Adil

ответ

2

Вот основной SQL-запрос:

SELECT * FROM blogEntries WHERE id=2 

(Примечание: Никогда не используйте SELECT * если вы не на самом деле, используя все данные)

I сделали тот же проект, что и вы, создав простой механизм ведения блога, и я использую ту же страницу как для общего списка, так и для отдельной статьи.

Используя 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 *', даже если вы используете все поля (или так я слышал). –

+2

Аргумент против SELECT *, если вы НЕ используете все поля, основан на производительности. Аргумент против его использования, если вы собираетесь использовать все поля, основан на сохранении кода AFAIK. –