
15.08.2008, 17:33
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
А не проще ли вместо извращений с БД выводить результат запроса в файл и его просто инклудить? Преимущества на лицо - в десятки раз уменьшаем количество запросов к базе (так как надо раз обновлять файл раз в час/сутки), не надо создавать лишних, да и ненужных таблиц
Получится что-то вроде:
PHP код:
$filetime=lstat('news.txt'); // Получаем массив информации о файле
$cur=time()-$ftime[9]; // Получаем время прошедшее с последней модификации файла
if ($cur>2500) // Если прошло больше 2500 секунд, то делаем запрос к БД
{
$f=fopen('news.txt','w');
// Все echo заменяем на $out.=
// Чтобы собрать в эту переменную все данные которые надо выводить
$host = "localhost"; // MySQL server
$user_db = ""; // MySQL пользователь
$pass_db = ""; // MySQL пароль
$dbase = ""; // MySQL база данных
$dtable = "eu_ad"; // Таблица в базе данных
mysql_connect ($host, $user_db, $pass_db);
mysql_select_db($dbase);
$sql = "SELECT link_id, images, v_title, v_255_12, v_descr, catid, rand() AS rnd FROM $dtable WHERE ((catid=403)OR(catid=404)) GROUP BY link_id ORDER BY rnd LIMIT 5";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
$out="";
if ((!$rows) || ($rows < 1)) {$out.="Результатов НЕТ!!!";}
else {
$out.="<table width=500 class=last_pellets>";
while(list($id_link, $images, $v_title, $v_255_12, $v_descr ) = mysql_fetch_row($result)) {
$images = explode( "\n", $images );
$images = $images[0];
$v_descr=strip_tags($v_descr);
$v_descr=substr($v_descr,0,150);
$out.= "<tr><td>";
if(empty($images))
echo "";
else
$out.= "<a href='page-o$id_link.html'><img src='files/$images' width=60 class=imgConf></a>";
$out.="</td><td><a href='page-o$id_link.html'>$v_title</a> $v_descr ... </td><td>$v_255_12</td></tr>";
}
}
$out.="</table>";
fwrite($f,$out);fclose($f); // Записываем в файл
}
echo file_get_contents('news.txt'); // Всегда выводим содержимое файла
|
|
|