|
|
|
| Прошу сильно не пинать! Я знаю что тема совсем не серьезная. Но я недавно стал осваивать PHP и разумеется у меня постоянно возникают глупые вопросы! :)
Ситуация:
имеется таблица (в Postgresql) в которой есть некие данные и два поля с датой (допустим дата подачи и дата приема, data1 и data2 соответственно). Ити данные отображаются в специальной форме на сайте. Каким образом можно организовать сортировку по одной из дат?
P.S. погуглив я узнал что это делается при помощи ORDER BY, почитав доку я так и не врубился каким образом это работает! :( Если можно покажите пример кода.
За ранее благодарен. | |
|
|
|
|
|
|
|
для: karl
(13.09.2007 в 10:53)
| | Приведите запрос, который вы используете для вывода данных из базы данных? | |
|
|
|
|
|
|
|
для: 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 " ¹ ï\ï ";
print "</td>";
print "<td>";
print " Äàòà âíåñåíèÿ ";
print "</td>";
print "<td>";
print " Êëèåíò ";
print "</td>";
print "<td>";
print " Òèï êîíêóðñà ";
print "</td>";
print "<td>";
print " Ññûëêà ";
print "</td>";
print "<td>";
print " Îïèñàíèå ";
print "</td>";
print "<td>";
print " Äåíü ";
print "</td>";
print "<td>";
print " Ìåñÿö ";
print "</td>";
print "<td>";
print " Ãîä ";
print "</td>";
print "<td>";
print " Îòâåòñòâåííûé ";
print "</td>";
print "<td>";
print " Ðåçóëüòàò ";
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>";
?>
|
| |
|
|
|
|
|
|
|
для: karl
(13.09.2007 в 11:19)
| | Используйте для вывода следующий запрос
SELECT * FROM konkurs
ORDER BY `date` DESC
|
| |
|
|
|
|
|
|
|
для: cheops
(13.09.2007 в 15:37)
| | А можно сделать так что бы сортировка шла по определенным выбранным числам, т.е. можно ли как то в запросе использовать переменные? | |
|
|
|
|
|
|
|
для: cheops
(13.09.2007 в 15:37)
| | что означает DESC? | |
|
|
|
|
|
|
|
для: karl
(13.09.2007 в 15:59)
| | Сортировка в обратном порядке | |
|
|
|
|
|
|
|
для: Faraon
(13.09.2007 в 16:24)
| | ага, понятно! А как переменные в запрос запихать? | |
|
|
|
|
|
|
|
для: cheops
(13.09.2007 в 15:37)
| | Что бы например показать все записи за 5 июля 2006 года. | |
|
|
|
|
|
|
|
для: karl
(13.09.2007 в 16:34)
| | Поле где хранятся даты какой формат имеют? | |
|
|
|
|
|
|
|
для: Faraon
(13.09.2007 в 16:40)
| | поле date тип данных date
в таблице выглядят как 2009-12-07, т.е. год-месяц-день
а отображаются на сайте как 07.09.2012, т.е. день.месяц.год | |
|
|
|
|
|
|
|
для: cheops
(13.09.2007 в 11:07)
| | Ну дык поможет мне кто нить? | |
|
|
|
|
|
|
|
для: 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
|
| |
|
|
|
|
|
|
|
для: 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']."');
|
только эта конструкция не работает! :( Помогите подправить! | |
|
|
|
|
|
|
|
для: karl
(14.09.2007 в 09:55)
| | Вы по каким критериям хоитте отсортировать? Как именно? Вот смотрите, есть записи:
2007-03-30
2007-03-31
2007-04-01
2007-04-02
В каком порядке вам нужно вывести их? | |
|
|
|
|
|
|
|
для: Shorr Kan
(14.09.2007 в 17:47)
| | Так чтоб остались все за апрель. | |
|
|
|
|
|
|
|
для: karl
(14.09.2007 в 18:23)
| | Т.е. скорей не сортировать а фильтровать! | |
|
|
|
|
|
|
|
для: karl
(14.09.2007 в 18:24)
| | Неточно :)
Объясните четко - что вы хотите. За какой (какие) месяц вы хотите взять данные и как их отсортировать по дням ? | |
|
|
|
|
|
|
|
для: Shorr Kan
(14.09.2007 в 20:11)
| | партизанам сложно помочь | |
|
|
|