У меня есть скрипт отображения новостей из базы данных. Вот он:
<?php
require_once 'inc/header.php';
require_once 'inc/menu.php';
require("config/config.inc.php");
require("function/functions.inc.php");
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die("Не могу подключиться" );
mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
mysql_query("SET NAMES utf8");
if($_GET['id']=='') {
$Q1 = mysql_query("SELECT * FROM tnews WHERE date_up <='".date('Ymd')."' ORDER BY id DESC LIMIT 5 ");
//Проверяем наличие новостей
if(mysql_num_rows($Q1) >0) {
while($r = mysql_fetch_array($Q1)) {
if($r['img_url']!== ''){
?>
<div class="news_box">
<div id="bg-heading"><span class="heading"><?=stripslashes($r['heading']);?></span>
<span class="date"><?=substr($r['date_up'],6,2);?>.<?=substr($r['date_up'],4,2);?>.<?=substr($r['date_up'],0,4);?></span></div>
<div class="title"><?=stripslashes($r['title']);?></div>
<div class="subtitle"><?=stripslashes($r['subtitle']);?></div>
<img class="img_news" src="<?=$url;?>/<?=$r['img_url'];?>" /><div class="text"><?=stripslashes(substr($r['news'],0,900));?>
</div>
<a class="full_open" href="?id=<?=$r['id'];?>">Подробнее...</a>
</div>
<div style="clear: both;"> </div>
<?
}
else {
?>
<div class="news_box">
<div id="bg-heading"><span class="heading"><?=stripslashes($r['heading']);?></span>
<span class="date"><?=substr($r['date_up'],6,2);?>.<?=substr($r['date_up'],4,2);?>.<?=substr($r['date_up'],0,4);?></span></div>
<div class="title"><?=stripslashes($r['title']);?></div>
<div class="subtitle"><?=stripslashes($r['subtitle']);?></div>
<div class="text"><?=stripslashes(substr($r['news'],0,900));?>
</div>
<a class="full_open" href="?id=<?=$r['id'];?>">Подробнее...</a>
</div>
<div style="clear: both;"> </div>
<?
}
}
}
else {echo 'Новостей нет';}
}
//Иначе отображаем новость полностью
else {
$id = clear($_GET['id']);
if(!is_numeric($id)) { echo 'Нельзя так'; exit();}
$Q2 = mysql_query("SELECT * FROM tnews WHERE id='".$id."'");
//Проверяем наличие новостей
if(mysql_num_rows($Q2) >0) {
$r = mysql_fetch_array($Q2);
if($r['img_url']!==''){
?>
<div class="news_box">
<div id="bg-heading"><span class="heading"><?=stripslashes($r['heading']);?></span>
<span class="date"><?=substr($r['date_up'],6,2);?>.<?=substr($r['date_up'],4,2);?>.<?=substr($r['date_up'],0,4);?></span></div>
<div class="title"><?=stripslashes($r['title']);?></div>
<div class="subtitle"><?=stripslashes($r['subtitle']);?></div>
<img class="img_news" src="<?=$url;?>/<?=$r['img_url'];?>" /><div class="text"><?=stripslashes($r['news']);?>
</div>
<div class="author_news"><?=stripslashes($r['author']);?></div>
</div>
<?
}
else{
?>
<div class="news_box">
<div id="bg-heading"><span class="heading"><?=stripslashes($r['heading']);?></span>
<span class="date"><?=substr($r['date_up'],6,2);?>.<?=substr($r['date_up'],4,2);?>.<?=substr($r['date_up'],0,4);?></span></div>
<div class="title"><?=stripslashes($r['title']);?></div>
<div class="subtitle"><?=stripslashes($r['subtitle']);?></div>
<div class="text"><?=stripslashes($r['news']);?></div>
<div class="author_news"><?=stripslashes($r['author']);?></div>
</div>
<?
}
//Увеличиваем число просмотров
mysql_query("UPDATE tnews SET views=views+1 WHERE id='".$id."'");
}
else {echo 'Новостей нет';}
}
require_once 'inc/sidebar.php';
require_once 'inc/footer.php';
?>
Подскажите пожалуйста, как сделать, чтобы при полном показе новости в title было допустим заголовок из БД данной новости. Пр чем все эти мета теги у меня подключаются в самом начале в файле header.php вместе с шапкой. Никак не пойму что надо сделать чтобы все было по-путнему.
Спустя 4 минуты, 40 секунд (23.11.2010 - 09:51) linker написал(а):
Сначала конфиги, подключение к БД, выборка новости, а уже потом отображение, а не наоборот и в перемешку.
Спустя 13 минут, 48 секунд (23.11.2010 - 10:05) Svetlaya написал(а):
То есть стоит вынести полное отображение новости в отдельный файл, а там сделать допустим так:
Далее подключить шапку, где
Я правильно мыслю?
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die("Не могу подключиться" );
mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
mysql_query("SET NAMES utf8");
$Q2 = mysql_query("SELECT * FROM tnews WHERE id='".$id."'");
$r = mysql_fetch_array($Q2);
$title=$r['title'];
Далее подключить шапку, где
<title><?=$title?></title>
Я правильно мыслю?
Спустя 1 час, 24 минуты, 40 секунд (23.11.2010 - 11:30) inpost написал(а):
Эта строчка должна быть перед WHILE, если правильно понимаю код.
require_once 'inc/header.php';
require_once 'inc/menu.php';