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

Форум MySQL

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

 

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

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

тема: Сортировка по дате.
 
 автор: karl   (13.09.2007 в 10:53)   письмо автору
 
 

Прошу сильно не пинать! Я знаю что тема совсем не серьезная. Но я недавно стал осваивать PHP и разумеется у меня постоянно возникают глупые вопросы! :)

Ситуация:
имеется таблица (в Postgresql) в которой есть некие данные и два поля с датой (допустим дата подачи и дата приема, data1 и data2 соответственно). Ити данные отображаются в специальной форме на сайте. Каким образом можно организовать сортировку по одной из дат?
P.S. погуглив я узнал что это делается при помощи ORDER BY, почитав доку я так и не врубился каким образом это работает! :( Если можно покажите пример кода.

За ранее благодарен.

   
 
 автор: cheops   (13.09.2007 в 11:07)   письмо автору
 
   для: karl   (13.09.2007 в 10:53)
 

Приведите запрос, который вы используете для вывода данных из базы данных?

   
 
 автор: karl   (13.09.2007 в 11:19)   письмо автору
 
   для: cheops   (13.09.2007 в 11:07)
 

Вот таким образом данные вводятся в базу:


if (!empty($_POST['boot'])) {
    if($_SERVER['REQUEST_METHOD']=="POST" && !empty($_POST)){
$date = date("m.d.y");
$querr = db_query($con, "insert into konkurs (date, clients, tipe, links, op, day, month, year, otv, rez) 
values ('".$date."', '".$_POST['clients']."',
'".$_POST['tipe']."', 
'".$_POST['links']."', 
'".$_POST['op']."', 
'".$_POST['day']."', 
'".$_POST['month']."', 
'".$_POST['year']."', 
'".$_POST['otv']."', 
'".$_POST['rez']."')");
    exit;
    }
exit;
}
?>


А вот так вот выводятся:


<?
print "<table align=center border=1>";
$db pg_query("select * from konkurs");
print 
"<tr align=center >";
print 
"<td>";
print 
" &#185; &#239;\&#239;  ";
print 
"</td>";
print 
"<td>";
print 
" &#196;&#224;&#242;&#224; &#226;&#237;&#229;&#241;&#229;&#237;&#232;&#255; ";
print 
"</td>";
print 
"<td>";
print 
" &#202;&#235;&#232;&#229;&#237;&#242; ";
print 
"</td>";
print 
"<td>";
print 
" &#210;&#232;&#239; &#234;&#238;&#237;&#234;&#243;&#240;&#241;&#224; ";
print 
"</td>";
print 
"<td>";
print 
" &#209;&#241;&#251;&#235;&#234;&#224; ";
print 
"</td>";
print 
"<td>";
print 
" &#206;&#239;&#232;&#241;&#224;&#237;&#232;&#229; ";
print 
"</td>";
print 
"<td>";
print 
" &#196;&#229;&#237;&#252; ";
print 
"</td>";
print 
"<td>";
print 
" &#204;&#229;&#241;&#255;&#246; ";
print 
"</td>";
print 
"<td>";
print 
" &#195;&#238;&#228; ";
print 
"</td>";
print 
"<td>";
print 
" &#206;&#242;&#226;&#229;&#242;&#241;&#242;&#226;&#229;&#237;&#237;&#251;&#233; ";
print 
"</td>";
print 
"<td>";
print 
" &#208;&#229;&#231;&#243;&#235;&#252;&#242;&#224;&#242; ";
print 
"</td>";
print 
"</tr>";
$a=0;

while (
$rez pg_fetch_array($db)){
   print 
"<tr align=center>";
{
$a++;
print 
"<td>" .$a"<br></td>";
print 
"<td>".$rez['date']."<br></td>";
print 
"<td>".$rez['clients']."<br></td>";
print 
"<td>".$rez['tipe']."<br></td>";
print 
"<td>".$rez['links']."<br></td>";
print 
"<td>".$rez['op']."<br></td>";
print 
"<td>".$rez['day']."<br></td>";
print 
"<td>".$rez['month']."<br></td>";
print 
"<td>".$rez['year']."<br></td>";
print 
"<td>".$rez['otv']."<br></td>";
print 
"<td>".$rez['rez']."<br></td>";
}
print 
"</tr>";
}
print 
"</table>";
?>

   
 
 автор: cheops   (13.09.2007 в 15:37)   письмо автору
 
   для: karl   (13.09.2007 в 11:19)
 

Используйте для вывода следующий запрос
SELECT * FROM konkurs
ORDER BY `date` DESC

   
 
 автор: karl   (13.09.2007 в 15:56)   письмо автору
 
   для: cheops   (13.09.2007 в 15:37)
 

А можно сделать так что бы сортировка шла по определенным выбранным числам, т.е. можно ли как то в запросе использовать переменные?

   
 
 автор: karl   (13.09.2007 в 15:59)   письмо автору
 
   для: cheops   (13.09.2007 в 15:37)
 

что означает DESC?

   
 
 автор: Faraon   (13.09.2007 в 16:24)   письмо автору
 
   для: karl   (13.09.2007 в 15:59)
 

Сортировка в обратном порядке

   
 
 автор: karl   (13.09.2007 в 16:30)   письмо автору
 
   для: Faraon   (13.09.2007 в 16:24)
 

ага, понятно! А как переменные в запрос запихать?

   
 
 автор: karl   (13.09.2007 в 16:34)   письмо автору
 
   для: cheops   (13.09.2007 в 15:37)
 

Что бы например показать все записи за 5 июля 2006 года.

   
 
 автор: Faraon   (13.09.2007 в 16:40)   письмо автору
 
   для: karl   (13.09.2007 в 16:34)
 

Поле где хранятся даты какой формат имеют?

   
 
 автор: karl   (13.09.2007 в 16:43)   письмо автору
 
   для: Faraon   (13.09.2007 в 16:40)
 

поле date тип данных date

в таблице выглядят как 2009-12-07, т.е. год-месяц-день
а отображаются на сайте как 07.09.2012, т.е. день.месяц.год

   
 
 автор: karl   (13.09.2007 в 13:24)   письмо автору
 
   для: cheops   (13.09.2007 в 11:07)
 

Ну дык поможет мне кто нить?

   
 
 автор: Shorr Kan   (14.09.2007 в 03:02)   письмо автору
 
   для: karl   (13.09.2007 в 13:24)
 


SELECT * FROM konkurs WHERE date='2006-07-05'


SELECT * FROM konkurs WHERE date>'2006-07-01' AND date<'2006-07-30' ORDER BY date DESC
SELECT * FROM konkurs WHERE date>'2006-07-01' AND date<'2006-07-30' ORDER BY date ASC

   
 
 автор: karl   (14.09.2007 в 09:55)   письмо автору
 
   для: Shorr Kan   (14.09.2007 в 03:02)
 

а как же можно все таки отсортировать по определенному критерию. у меня есть формы в которых выбираются число месяц год, эти данные соответственно присваиваются 3м переменным, $day, $month, $year как можно отсортировать данные используя значения этих переменных?

можно ли что нить на подобие этого:
$db = pg_query("select * from konkurs ORDER BY day, month, year;") values ('".$_POST['day']."', '".$_POST['month']."', '".$_POST['year']."');


только эта конструкция не работает! :( Помогите подправить!

   
 
 автор: Shorr Kan   (14.09.2007 в 17:47)   письмо автору
 
   для: karl   (14.09.2007 в 09:55)
 

Вы по каким критериям хоитте отсортировать? Как именно? Вот смотрите, есть записи:

2007-03-30
2007-03-31
2007-04-01
2007-04-02

В каком порядке вам нужно вывести их?

   
 
 автор: karl   (14.09.2007 в 18:23)   письмо автору
 
   для: Shorr Kan   (14.09.2007 в 17:47)
 

Так чтоб остались все за апрель.

   
 
 автор: karl   (14.09.2007 в 18:24)   письмо автору
 
   для: karl   (14.09.2007 в 18:23)
 

Т.е. скорей не сортировать а фильтровать!

   
 
 автор: Shorr Kan   (14.09.2007 в 20:11)   письмо автору
 
   для: karl   (14.09.2007 в 18:24)
 

Неточно :)
Объясните четко - что вы хотите. За какой (какие) месяц вы хотите взять данные и как их отсортировать по дням ?

   
 
 автор: oradev   (14.09.2007 в 21:48)   письмо автору
 
   для: Shorr Kan   (14.09.2007 в 20:11)
 

партизанам сложно помочь

   
Rambler's Top100
вверх

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