[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод новостей по дням неделли
Markus111
Здравствуйте.
Ситуация такова:
Есть в базе таблица с полями
id int, title char(255), date DATETIME.
Надо вывести в таком виде (например):

понедельник, 23 апреля 2012
12:10 текст
11:43 текст
воскресенье, 22 апреля 2012
12:10 текст
11:43 текст
четверг, 18 апреля 2012
12:10 текст
11:43 текст

Пожалуйста если кто знает как это сделать с минимум запросов, или кто знает такую статью помогите
Спасибо за помощь



Спустя 35 минут, 35 секунд (23.04.2012 - 12:26) Renden написал(а):
Markus111

/* Function by Renden | renden@bk.ru
* Получение русской даты, входящие данные:
* дата, (день(d), неделя(w), месяц(m), год(y) (в любом порядке)).
* Если дата не указана (null) выводит текущий день.
* пример: echo GetDay('2011-08-01','d','m','y');
*/

function GetDay($date = null) {
$arg = func_get_args();
$return = '';
$time = strtotime($date);
$arr_month = array(1=>"января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
$arr_month_n = array(1=>"январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь");
$arr_week = array("воскресенье","понедельник","вторник","среда","четверг","пятница","суббота");
$return .= (in_array('w',$arg)) ? (($date == NULL) ? $arr_week[date('w')] : $arr_week[date('w', $time)]).', ' : NULL;
$return .= (in_array('d',$arg)) ? (($date == NULL) ? date('j') : date('j', $time)).' ': NULL;
$return .= (in_array('m',$arg) && in_array('d',$arg)) ? (($date == NULL) ? $arr_month[date('n')] : $arr_month[(int)date('m', $time)]).' ' : ((!in_array('d',$arg)) ? $arr_month_n[(int)date('m', $time)].' ' : NULL);
$return .= (in_array('y',$arg)) ? (($date == NULL) ? date('Y') : date('Y', $time)).' г.': NULL;
return $return;
}

$l_day = ''; $l_month = '';
$query = mysql_query("SELECT `id`,`title`,`date`,
MONTH(`date`) AS `month`,
DAY(`date`) AS `day`,
DATE_FORMAT(`date`, '%H:%i') AS `time`
FROM `test`"
); //Измени только таблицу с test на свою
while($row = mysql_fetch_assoc($query ))
{
if($row['day'] == $l_day && $row['month'] == $l_month)
{
echo $row['time'] . $row['title'].'<br>';
}
else
{
echo GetDay($row['date'], 'w','d','m','y').'<br>';
echo $row['time'] . $row['title'].'<br>';
}
$l_day = $row['day']; $l_month = $row['month'];
}

Спустя 7 минут, 1 секунда (23.04.2012 - 12:33) Markus111 написал(а):
Спасибо за помощь, код работает.
Пишу +1


_____________
https://t.me/pump_upp
Быстрый ответ:

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