сортировка многомерного массива

Result

Новичок
Здравствуйте. Нужно отсортировать по определенному полю.
PHP:
$sql = mysql_query("SELECT m.id, m.nameangl, m.new, f.manga_id, f.vol, f.vol_num FROM manga AS m, file AS f WHERE m.id=f.manga_id AND m.new='1'") or die("error file index.php 194 line");
					while($row = mysql_fetch_array($sql,MYSQL_NUM)){
						$str["$row[0]"] = $next = array("name" => "$row[1]", "vol" => "$row[4]", "vol_num" => "$row[5]", "manga_id" => "$row[0]");		
					
					}
					
					asort($next, 'vol');
					
					foreach($str AS $key => $value){
						echo "<a href='read.php?manga=".$str[$key]["manga_id"]."&id=".$str[$key]["vol_num"]."'><div class='title' style='margin: 0 0 10px 0;'>".$str[$key]["name"]. " - " .$str[$key]["vol"]."</div></a>";
					}
Подскажите пожалуйста как это сделать
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
поподробнее можно?

Ну и код вменяемый хотелось бы видеть, а не эту белиберду с $str["$row[0]"]
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Result
Ну если код нормальный, то и книжки тебе советовать прочитать хорошие, как я понимаю, не имеет смысла.
Я не говорю уже, что у тебя странная ошибка в логике, не говорю о том, что сортировать надо бы средствами БД, оно и быстрей и проще. Я даже не предлагаю тебе внимательно посмотреть на mysql_fetch_assoc(), который сильно упростить тебе жизнь.

PS: как ты собрался сортировать массив из одной строчки, я честно не понимаю, если там одно значение vol...
 

Result

Новичок
Result
Ну если код нормальный, то и книжки тебе советовать прочитать хорошие, как я понимаю, не имеет смысла.
Я не говорю уже, что у тебя странная ошибка в логике, не говорю о том, что сортировать надо бы средствами БД, оно и быстрей и проще. Я даже не предлагаю тебе внимательно посмотреть на mysql_fetch_assoc(), который сильно упростить тебе жизнь.

PS: как ты собрался сортировать массив из одной строчки, я честно не понимаю, если там одно значение vol...
Я в курсе что код до совершенства еще долек. Я читаю книги и еще учусь. Но для меня этот код идеален на данный момент. Спасибо за подсказку на счет сортировки mysql. Так и сделаю
А на счет vol это для вопроса. Я буду сортировать по дате
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Сортируй как душе угодно, но сейчас у тебя есть несколько проблем:
1. Отсутствие какой-либо сортировки вообще, потому как asort($next, 'vol'); не делает ровным счетом ничего из требуемого, второй параметр кстати советую посмотреть подробнее
2. Отсутствие понимания как правильно писать код, где надо писать кавычки, а где нет. Да и вообще зачем они нужны ты тоже не до конца понимаешь.
3. Неудобоваримый код в плане поддержки, открой для себя удобство mysql_fetch_assoc, хотя я бы использовал mysqli или PDO, но это мои тараканы. Стоит тебе добавить в середину выбираемых полей еще одно и твой код рухнет, накрывшись медным тазом.
4. Внимательно прочитай как формировать массивы, $str["$row[0]"] = $next = ... сформирует тебе одномерный массив, вовсе не то, что тебе надо.
 
Сверху