Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка ассоциативного массива по двум ключам
 
 автор: Deed   (02.01.2017 в 22:08)   письмо автору
 
 

С Новым годом всех!
Для примера - массив:

<?
$mylist 
= array(
    array(
'id' => 1'for_id' => 0'title' => 'Boring Meeting'),
    array(
'id' => 2'for_id' => 0'title' => 'Find My Stapler'),
    array(
'id' => 3'for_id' => 1'title' => 'Mario Party'),
    array(
'id' => 4'for_id' => 2'title' => 'Duct Tape Party'),
    array(
'id' => 5'for_id' => 1'title' => 'Go Drink')
);
?>

Где 'for_id'==0 - это категория, где 'for_id'!=0 - это подкатегория.
И я не знаю, как получить такое:

<?
$mylist 
= array(
    array(
'id' => 1'for_id' => 0'title' => 'Boring Meeting'),
    array(
'id' => 3'for_id' => 1'title' => 'Mario Party'),
    array(
'id' => 5'for_id' => 1'title' => 'Go Drink'),
    array(
'id' => 2'for_id' => 0'title' => 'Find My Stapler'),
    array(
'id' => 4'for_id' => 2'title' => 'Duct Tape Party')
);
?>

То есть, чтобы за категорией ('id'=1) шли ее подкатегории ('for_id'=1) и так далее.
Как это сделать?

[url]http://sandbox.onlinephpfunctions.com/code/aedc64283d2e89d80762fec3e4723ec65d8 eb51a[/url]

Спасибо.

  Ответить  
 
 автор: confirm   (03.01.2017 в 03:59)   письмо автору
 
   для: Deed   (02.01.2017 в 22:08)
 

В sql-запросе и не морочьте голову.

  Ответить  
 
 автор: Deed   (03.01.2017 в 09:05)   письмо автору
 
   для: confirm   (03.01.2017 в 03:59)
 

Спасибо.
Но как его сосатвить?
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=94007

  Ответить  
 
 автор: confirm   (03.01.2017 в 10:18)   письмо автору
 
   для: Deed   (03.01.2017 в 09:05)
 

Это где так надо получить, если вместо запроса показывается вставка? ORDER BY по нужным полям в требуемом порядке.

  Ответить  
 
 автор: Deed   (03.01.2017 в 13:20)   письмо автору
 
   для: confirm   (03.01.2017 в 10:18)
 

http://sqlfiddle.com/#!9/502db/1

  Ответить  
 
 автор: confirm   (03.01.2017 в 20:08)   письмо автору
 
   для: Deed   (03.01.2017 в 13:20)
 

Не надо маяться дурью. Если по вопросу изначальному, то обычная сортировка, а затем разбор. Если же это неуклюжая попытка пояснения "дерева", то это делается совсем не так. В разделе соответствующем, да и в интернете об этом написано много.

А два уровня вложения, как собственно любого фиксированного, можно и table LEFT JOIN table AS name ON parent = id.
Но только родитель, а под ним... может еще сразу запросить SQL чтобы он готовое html-дерево вернул? Запрос вернет записи, а затем разбор и построение дерева.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования