Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Простой вопрос по поиску и выдаче результатов
 
 автор: Владимир22   (09.07.2006 в 00:47)   письмо автору
 
 

При выдаче результов по дате, выводит всё правильно, но НЕ в порядке добавления записей.

@$result=mysql_query("select * from list_cooperation ORDER BY 'date' DESC");

Но надо, чтобы последняя запись была первой (а по запросу всё перемешивается в пределах указанной даты). Как это сделать? Подскажите, пожалуйста.

   
 
 автор: Trianon   (09.07.2006 в 01:04)   письмо автору
 
   для: Владимир22   (09.07.2006 в 00:47)
 

храните время вместе с датой. DATETIME или TIMESTAMP

   
 
 автор: Владимир22   (09.07.2006 в 02:03)   письмо автору
 
   для: Trianon   (09.07.2006 в 01:04)
 

А если дата записывается в базу самим PHP в формате $date =date("d-m-Y"); ?
Должна же быть в МySql опция вывода строго ОТ последнего добавленного сообщения ?..

   
 
 автор: cheops   (09.07.2006 в 09:59)   письмо автору
 
   для: Владимир22   (09.07.2006 в 02:03)
 

Только если храните дату во временом формате строка d-m-Y сортироваться правильно не будет никогда, так как сначала идёт день, потом месяц, затем год, в MySQL формат времени Y-m-d введён не из-за вредности, а из-за того, что это обеспечивает правильную сортировку. А почему не хотите хранить дату во временных столбцах MySQL? При выборке всегда можно отформатировать дату при помощи функции MySQL - DATE_FORMAT().

   
 
 автор: Владимир22   (09.07.2006 в 14:51)   письмо автору
 
   для: cheops   (09.07.2006 в 09:59)
 

Нашёл по поиску про запись даты через NOW() - всё записывается привильно.
Теперь у меня в php выводит:
$date="2006-07-09 13:40:19";

А как вывести из таблицы в таком виде:
$date="09-07-2006";
или в таком
$date="09-07-06"; ???

   
 
 автор: cheops   (09.07.2006 в 15:03)   письмо автору
 
   для: Владимир22   (09.07.2006 в 14:51)
 

Для этого следует воспользоваться функцией DATE_FORMAT() следующим образом
SELECT DATE_FORMAT(putdate,'%d-%m-%Y') AS putdate_print FROM tbl

или
SELECT DATE_FORMAT(putdate,'%d-%m-%y') AS putdate_print FROM tbl

если в годе следует оставить только два числа.

   
 
 автор: Владимир22   (09.07.2006 в 15:12)   письмо автору
 
   для: cheops   (09.07.2006 в 15:03)
 

Спасибо огромное, уже разобрался
$date=strtotime($date);
$date= strftime("%d-%m-%Y",$date);
date_rus (&$date); // это ниже

Вот, кстати, написал несложную функцию(возможно,изобрёл велосипед, но всё же)
перевода даты из цифр в слова:


function date_rus ($data)  
{
$data=explode ("-",$data);
if ($data[0]=="01") $data[0]="1";
if ($data[0]=="02") $data[0]="2";
if ($data[0]=="03") $data[0]="3";
if ($data[0]=="04") $data[0]="4";
if ($data[0]=="05") $data[0]="5";
if ($data[0]=="06") $data[0]="6";
if ($data[0]=="07") $data[0]="7";
if ($data[0]=="08") $data[0]="8";
if ($data[0]=="09") $data[0]="9";

if ($data[1]=="01") $data[1]="января";
if ($data[1]=="02") $data[1]="февраля";
if ($data[1]=="03") $data[1]="марта";
if ($data[1]=="04") $data[1]="апреля";
if ($data[1]=="05") $data[1]="мая";
if ($data[1]=="06") $data[1]="июня";
if ($data[1]=="07") $data[1]="июля";
if ($data[1]=="08") $data[1]="августа";
if ($data[1]=="09") $data[1]="сентября";
if ($data[1]=="10") $data[1]="октября";
if ($data[1]=="11") $data[1]="ноября";
if ($data[1]=="12") $data[1]="декабря";
$data ="$data[0] $data[1] $data[2] года";
}

   
 
 автор: cheops   (09.07.2006 в 16:56)   письмо автору
 
   для: Владимир22   (09.07.2006 в 15:12)
 

Для того, чтобы получить русские имена месяцев обычно так и поступают, т.е. используют массив русских названий.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования