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 )