[РЕШЕНО]Вывести новые материалы разных типов за сутки

Главные вкладки

Аватар пользователя Дешка Дешка 27 декабря 2010 в 15:00

Создается блок,который выводит все созданные за сутки материалы определенного типа(event).
Вот код,который подсчитывает кол-во маетериалов,а как вывести заголовки всех материалов?

чтоб было вот так:

Сегодня: событий: 4;
событие1
событие2
...
событие4

<?php
//Начальная дата:
$start_stamp = mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));//За последний день
$start_stamp = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));//За последний месяц
//Получаем массив нод по типам материалов:
$result=db_query("SELECT count(nid) as count, type FROM node WHERE status = 1 AND created
>'$start_stamp' GROUP BY type");
while ($result_type = db_fetch_object($result)) {
$count_results[$result_type->type]=$result_type->count;
}
//Выбираем нужные типы.
$node_types=array(
"commm" => "комментов:",
"event" => "событий: "
);

//Обрабатываем 2 массива, чтобы сложить в строки:
foreach ($node_types as $type=>$message_string) {
if (isset($count_results[$type])) $today[]=$message_string.$count_results[$type];
}

// получаем заголовки статей нужного типа (event)
$result0=db_query("SELECT node.nid AS nid, node.title AS node_title FROM node node
WHERE (node.status <> 0) AND (node.type in ('event')) ORDER BY node_title DESC");

$result_type = db_fetch_object($result0);

//Выводим:
echo "Сегодня ". ((count($today)>0) ? implode(', ',$today): "пока нет новых материалов")."";

//Убираем за собой:
unset($today, $count_results, $start_stamp, $result, $message_string);
?>

Комментарии

Аватар пользователя Дешка Дешка 26 января 2011 в 22:23

если кому интересно:


<?php
$output 
'';
$t='event';  //тип материала
$days=0;    // за котороый день назад
$start_stamp mktime(000date("m"), date("d")-$days,   date("Y"));
$end_stamp mktime(000date("m")-$daysdate("d"),   date("Y"));

$r=db_query("SELECT DISTINCT COUNT(nid) as cnt FROM {node} WHERE type='event' AND created >'$start_stamp' ");
$r=db_rewrite_sql($r);
$count=db_result($r);

$node_type "event";    //  тип материала
$node_count 3;       //  кол-во выводимых заголовков
$sql "SELECT node.title, node.nid FROM {node} WHERE (node.type = '$node_type')
AND (created >'
$start_stamp') AND (node.status = 1) ORDER BY node.created DESC LIMIT $node_count";
$result0 db_query($sql);
while (
$anode db_fetch_object($result0)) {
  
$output .= l($anode->title"node/$anode->nid").'<br />';
}

print 

t("Cегодня событий: ".$count);
if(
$count == 0) {print t("Сегодня событий нет");} 

print 

$output;
?>