Forum Webscript.Ru
Программирование => PHP => Тема начата: Pr0Head от 23 Января 2002, 15:17:01
-
Прочитав туториал - запутался совсем...
Есть БД с таблицей вида: id, date, news
нужно, чтоб новости выводились начиная с последней.
Если правильно понял, то нужно сначала загнать все в массив, там отсортировать новости по id, а потом уже выводить на экран. Но что-то не выходит... вот код:
$db = mysql_connect("localhost", "root");
mysql_select_db("sp",$db);
$result = mysql_query("SELECT * FROM news",$db);
while ($myrow = mysql_fetch_array($result))
{
$allnews[$myrow["id"]] = array($myrow["date"],$myrow["news"]);
}
sort($allnews);
$cnt = count($allnews);
for ($i = 0; $i < $cnt; $i++) {
echo $allnews[$i][1];
}
Получается неправильный порядок вывода...
Что неправильно? Или есть способ лучше?
-
а нельзя отсортировать запросом?
т.е.
select * from news order by date {asc|desc}
select * from news order by id {asc|desc}
-
М.. незнаю. Я в эту кухню (РНР, Мускуль) только залез, еще толком ничего не знаю.
А что делает этот запрос? Я такого параметра в туториале не нашел...
-
order by field сортирует по полю
asc/desc - возрастание или убывание
-
Спасибо огромное!
Как оказывается удобно в мускуле сортировка сделана, а то под массивами я бы скоро умер...
(http://www.nagash.org/smiles/pray.gif )