[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Из массива подставить в запрос
Astin
Приветствую Форумчане!

Решил перенести все заголовки страниц, описание и ключевые слова в БД.

Создать таблицу примерно вот такую:
id - AUTO_INCREMENT
title - заголовок стр
description - описание
keywords - ключи
page - GET параметр страницы по которому буду определять,
к примеру страница "О нас" формирует вот такой GET index.php?rem=pages&pag=about
соответственно about я запишу в бд.

У каждых типов страниц есть свой роутер, ну и соответственно свой GET параметр

Если делать запрос к БД в каждом роутере то все нормально.

Вот к примеру вот так:

Роутер 1
<?php
// Массив переменных
$pags = array(
'about',
'zayvka',
'faq',
'kontacty',
'call'
);
///////////////////////////////////////////////////////////////////////
$pag = isset($_GET['pag'])?html($_GET['pag']):false;

if (!isset($_GET['pag']))
{
$pag = 'indx';
}
elseif (in_array($_GET['pag'], $pags))
{
$pag = $_GET['pag'];

} else {
header('HTTP/1.1 404 Not Found'); //редирект на страницу ушибки (404)
exit(file_get_contents(HOST.'meseng/notfound.html'));
}
///////////////////////////////////////////////////////////////////////
$query = mysql_query("SELECT * FROM `tit`
WHERE `page` = '"
.$pag."'");
if (mysql_num_rows($query) > 0){

$result = mysql_fetch_assoc($query);

}
echo $result['title'];


Роутер 2
<?php
// Массив переменных
$names = array(
'pownshops',
'avtolombard',
'lombard',
'mko',
'avtolombards',
'lombards',
'mkos'
);
///////////////////////////////////////////////////////////////////////
$nams = isset($_GET['nams'])?html($_GET['nams']):false;

if (!isset($_GET['nams']))
{
$nams = 'pownshops';
}
elseif (in_array($_GET['nams'], $names ))
{
$nams = $_GET['nams'];

} else {
header('HTTP/1.1 404 Not Found'); //редирект на страницу ушибки (404)
exit(file_get_contents(HOST.'meseng/notfound.html'));
}
/////////////////////////////////////////////////////////////////
$query = mysql_query("SELECT * FROM `tit`
WHERE `page` = '"
.$nams."'");
if (mysql_num_rows($query) > 0){

$result = mysql_fetch_assoc($query);

}
echo $result['title'];


echo я поставил так для проверки работает или нет

Вот такой вариант работает.

И вот теперь вопросы:

1) Будет ли такой вариант нагружать сервер или БД?

2) Хотелось бы вообще сделать один запрос и подставлять данные из массивов,
а все имеющиеся массивы страниц слить в один к примеру через array_merge().
Но вот как правильно сделать никак недогоняю, то есть как подставить значения
из общего массива?

Или если не будет особой нагрузки на сервер и БД то может оставить тот пример кода
который я привел?

Как надо и как лучше подскажите пожалуйста

_
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.