Программирование > PHP

Автоматический вывод новостей на страничке

<< < (2/4) > >>

MHz:
Можно сделать так: дату использовать только как дату последней новости, а из базы просто извлекать фиксированное кол-во последних по дате новостей. Тогда вся логика помещается в тот же запрос, что извлекает новости.

Насколько я помню:
$query="SELECT id,post_date,title,news FROM news WHERE 1 AND TO_DAYS(post_date) < TO_DAYS($dataF) LIMIT 0, $limit

$dataF - день по "календарю"
$limit - максимальное кол-во новстей на странице, например 10

3D-Dragon:
MHz

Не работает :(

Вот кусок измененного по твоему совету кода

$show_rows = 10;
$dateF=date ( "Y-m-d H:i:s",mktime ());
if (!isset($limit)) $limit=0;
else $limit=$limit-1;

$query="select post_date,title,news,istochnik,url,autor,mail from news order by post_date WHERE 1 AND TO_DAYS(post_date) < TO_DAYS($dataF) desc limit $limit,$show_rows";

$result=mysql_query ($query);
while ($row=mysql_fetch_array ($result))
{
$post_date=$row["post_date"];
$title=$row["title"];
$news=$row["news"];
$istochnik=$row["istochnik"];
$url=$row["url"];
$autor=$row["autor"];
$mail=$row["mail"];
$limit=$limit+1;
?>

Где копать ???

Я уже сам вижу, что у меня неправильно определена $dateF
:mad:
Блин, как-же их сравнивать эти post_date и $dateF ?

Stek:
Короче. Логика такова
SELECT post_date FROM news ORDER BY post_date DESC LIMIT 1

подгоняешь этот запрос под себя. чтобы тебе возвращалась дата последнего сообщения.

Ну а далее
select * from news where post_date=\'что получили из прудидущего селекта\'

MHz:
можно попробовать так:

$show_rows = 10;
$dateF=date ( "Y-m-d",mktime ()); // текущая дата, но подразумевается что может быть любая

if (!isset($limit)) $limit=0;
else $limit=$limit-1;  // это что такое ?  навигация по страницам?
// тогда так ($page - текущая страница, должна передаваться через GET или POST):
$limit = ($page -1) * $show_rows;

$query="select post_date,title,news,istochnik,url,autor,mail from news WHERE TO_DAYS(post_date) < TO_DAYS(\'$dateF\') order by post_date limit $limit,$show_rows";

..и т.д.

MHz:

--- Цитировать ---SELECT post_date FROM news ORDER BY post_date DESC LIMIT 1
--- Конец цитаты ---


По-моему, лучше так ;) :

SELECT max(post_date) FROM news

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии