|
|
|
| Уважаемые господа!
Использую вашу систему публикации новостей.
Всё очень нравится, но вот есть несколько вопросов.
1) Почему новые новости добавляются в конец списка, а не в начало?
2) Формат даты хотелось бы выводить не на американский манер, а на наш (например: 16.01.2006, а не 2006-01-16). Без времени!
Насколько возможно сделать поправки в код?
Спасибо! | |
|
|
|
|
|
|
|
для: denya
(16.01.2006 в 13:57)
| | 1) Нужно вместо ORDER BY putdate написать ORDER BY putdate DESC
2) Для этого можно рег.выражение использовать. Это к cheops-у | |
|
|
|
|
|
|
|
для: ZC
(16.01.2006 в 14:09)
| | а кто это...cheops?
:) | |
|
|
|
|
|
|
|
для: denya
(16.01.2006 в 14:13)
| | он вас сам найдет:) | |
|
|
|
|
|
|
|
для: ZC
(16.01.2006 в 14:09)
| | >1) Нужно вместо ORDER BY putdate написать ORDER BY putdate DESC
У меня так и написано!
А все равно добавляется в конец списка :-\ | |
|
|
|
|
|
|
|
для: ZC
(16.01.2006 в 14:09)
| | Я наверное немного неточно описал проблему.
Например я в один день сделал 5 новостей. Получается, что последняя новость, добавленная в этот день находится пятой по счету. Так ведь неправильно! Последняя должна быть первой! | |
|
|
|
|
|
|
|
для: denya
(16.01.2006 в 14:31)
| | Нужно еще в ORDER BY после даты добавить сортировку по полю ключа в DESC.
Поле ключа всегда первое в таблице, его имя и добавьте
ORDER BY pub_date DESC, id_key DESC | |
|
|
|
|
|
|
|
для: XPraptor
(16.01.2006 в 14:37)
| | $new = mysql_query("select * from news order by putdate DESC limit $start, $all_number_news");
вот строчка.
Как нужно сделать?
Я просто в php плохо шарю :) | |
|
|
|
|
|
|
|
для: XPraptor
(16.01.2006 в 14:37)
| | Получилось.
Осталось дату только на русский манер сделать :) Жду ответа | |
|
|
|
|
|
|
|
для: denya
(16.01.2006 в 14:54)
| |
$new = mysql_query("select DATE_FORMAT(putdate ,'%d.%m.%Y') as putdate,* from news order by putdate DESC limit $start, $all_number_news");
|
| |
|
|
|
|
|
|
|
для: Loki
(16.01.2006 в 15:27)
| | Необольшое уточнение, в файлах index.php и news.php в запросах расположенных в строках 36 и 41, соответственно, символ * заменить на
id_news,
name,
body,
DATE_FORMAT(putdate ,'%d.%m.%Y') as putdate,
url,
url_text,
url_pict,
hide
|
PS Вероятно, скоро будет выложена новая версия блока "Новости", так как этот вопрос всплывает регулярно. | |
|
|
|
|
|
|
|
для: cheops
(16.01.2006 в 16:28)
| | Спасибо, всё получилось :)
Ждём новую версию Новостей :) | |
|
|
|
|
|
|
|
для: denya
(16.01.2006 в 14:54)
| | А дату ищи строку где выводится дата на страницу, там должна быть функция Date(
так тебе нужно в нее первым параметром передать вместо имеющегося формата следующее:
Date("d.m.Y", | |
|
|
|
|
|
|
|
для: denya
(16.01.2006 в 14:54)
| | Вот еще один способ переобразования даты
<?php
///////////////////////////////////////////////
// Функция для конвертирования даты из формата
// YYYY-MM-DD в DD.MM.YYYY
///////////////////////////////////////////////
function convertdate($strdate, $separator)
{
// Проверяем переданные переменые на допустимые значения
if(empty($strdate)) return false;
if(empty($separator)) return false;
// Формируем регулярное выражение для переобразования даты
$pattern = "|([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})|i";
// Разделитель между днем месяцем и годом
$separator = ".";
// Переобразовываем дату, при ошибке возвращаем
// отрицательный результат
if(preg_match($pattern, $strdate, $regs))
{
// Выводим конвертированную дату в формате DD.MM.YYYY
return $regs['3'].$separator.$regs['2'].$separator.$regs['1'];
}
else
{
// Возвращаем отрицательный результат
return false;
}
}
///////////////////////////////////////////////////////////
// Пример использования функции convertdate([string date])
///////////////////////////////////////////////////////////
// Дата в формате YYYY-MM-DD
$date_old = "2006-01-09";
// Переобразовываем дату
$date_new = convertdate($date_old, ".");
// Выводим ковертированную дату
echo "$date_new";
?>
|
| |
|
|
|