|
|
|
| Прлблема состояит в выводе новостей. Новости хранятся в Базе данных, естественно новые записи добавляются с конца.
<?php
include "config.php";
// Цикл вывода новости
$result = mysql_query("SELECT * FROM news");
while ($news_m = mysql_fetch_assoc($result))
{
printf("<table cellpadding=\"0\" cellspacing=\"0\" id=\"$news_m[id_news]\" class=\"news_contener\"> <tr><td class=\"news_title\">$news_m[title]<br><br></td></tr>\n <tr><td class=\"news_body\"><img src=\"$news_m[link]\" align=\"left\" alt=\"$news_t_body\" class=\"news_i\" width=\"150px\">$news_m[text]</td></tr>\n <tr><td class=\"news_date\" align=\"right\">Автор: $news_m[user], дата: $news_m[date]</td></tr> </table><br>\n\n");
}
?>
|
Как вы видите информация из БД выводится очень простым скриптом, надо которым я ломал голову целую пару по матану :)
Но как сделать, что бы цикл выводлся наоборот? (что бы последняя новость, была в начале, а первая - в конце? | |
|
|
|
|
|
|
|
для: devil943
(22.11.2007 в 21:25)
| | А следующая пара у вас по чём? Можт физ-ра поможет.....?)) | |
|
|
|
|
|
|
|
для: devil943
(22.11.2007 в 21:25)
| | $result = mysql_query("SELECT * FROM news ORDER BY id DESC");
если у Вас есть id поле и оно уникальное типа auto_increment | |
|
|
|
|
|
|
|
для: Faraon
(22.11.2007 в 21:52)
| | >$result = mysql_query("SELECT * FROM news ORDER BY id DESC");
>если у Вас есть id поле и оно уникальное типа auto_increment
Что за id поле? уникальный номер дается каждой записи в отдельном столбце... news_id | |
|
|
|
|
|
|
|
для: devil943
(22.11.2007 в 21:59)
| | Сортируйте по этому столбцу
$result = mysql_query("SELECT * FROM news ORDER BY news_id DESC"); | |
|
|
|
|
|
|
|
для: Faraon
(22.11.2007 в 22:04)
| | И вам тоже огромное спасибо, пойду пробовать. | |
|
|
|
|
|
|
|
для: Faraon
(22.11.2007 в 22:04)
| | Кажется ему не нравится....
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/host4571/www/index.php on line 112 | |
|
|
|
|
|
|
|
для: devil943
(22.11.2007 в 21:25)
| | только не наоборот.
То как Вы сейчас выводите строки, вообще не предполагает за ними хоть какого-то устойчивого порядка.
В остальном Вам уже ответили.
2 valick: физ-ру лучше не прогуливать. В отличие от матана. | |
|
|
|
|
|
|
|
для: Trianon
(22.11.2007 в 22:10)
| | Спасибо.
>2 valick: физ-ру лучше не прогуливать. В отличие от матана.
Живу по тому же принципу :) | |
|
|
|
|
|
|
|
для: devil943
(22.11.2007 в 21:25)
| | сортировать лучше по дате, а не по id. Например так :
<?php
include "config.php";
// Цикл вывода новости
$result = mysql_query("SELECT * FROM `news` ORDER BY `date` DESC");
while ($news_m = mysql_fetch_assoc($result))
{
printf("<table cellpadding=\"0\" cellspacing=\"0\" id=\"$news_m[id_news]\" class=\"news_contener\"> <tr><td class=\"news_title\">$news_m[title]<br><br></td></tr>\n <tr><td class=\"news_body\"><img src=\"$news_m[link]\" align=\"left\" alt=\"$news_t_body\" class=\"news_i\" width=\"150px\">$news_m[text]</td></tr>\n <tr><td class=\"news_date\" align=\"right\">Автор: $news_m[user], дата: $news_m[date]</td></tr> </table><br>\n\n");
}
?>
|
| |
|
|
|
|
|
|
|
для: CrazyAngel
(22.11.2007 в 22:26)
| | У меня и дата и id - tynitext | |
|
|
|
|
|
|
|
для: devil943
(22.11.2007 в 22:28)
| | Если вы хотите сортировать по дате то поле должно быть типа datetime, если по id то поле числового типа int | |
|
|
|
|
|
|
|
для: CrazyAngel
(22.11.2007 в 22:26)
| | О, спасибо.... SQL запрос вроде правильный, ошибок не дал. Ща поробую. | |
|
|
|
|
|
|
|
для: CrazyAngel
(22.11.2007 в 22:26)
| | Нет... не то, он сортирует толкьо по первым дву числам - числу, а месяц и год ему по барабану. | |
|
|
|
|
|
|
|
для: devil943
(22.11.2007 в 22:37)
| | как вариант - добавьте столбец с автоинкрементом, так чтобы при добавлении новости у неё был свой уникальный номер и делайте по нему обратную сортировку, как предлагалось выше | |
|
|
|
|
|
|
|
для: retsoul
(22.11.2007 в 22:45)
| | не верный вариант, а если новость написалась, но публикация должна состоятся позже
P.S. для этого не забудьте добавить проверку в запрос, например `date` <= UNIX_TIMESTAMP(NOW()) | |
|
|
|
|
|
|
|
для: CrazyAngel
(22.11.2007 в 22:51)
| | если новость написалась, а публикация должна состояться позже, то для этого в скрипте выборки стоит это предусмотреть :)
согласен с нижнем комментом про то, что неверный тип для даты
так как по идеи, если там тип дата или время, или дататайм - то сортировка должна проходить правильно :)
тогда как ещё один выход - изменение типа столбца на нужный и правильный! )) | |
|
|
|
|
|
|
|
для: devil943
(22.11.2007 в 22:37)
| | неверный тип для поля даты
(почти уверен что string :)))) | |
|
|
|