За последние 24 часа нас посетили 20122 программиста и 1570 роботов. Сейчас ищут 1994 программиста ...

Вопрос по unserialize

Тема в разделе "Сделайте за меня", создана пользователем Илья111, 24 окт 2016.

  1. Илья111

    Илья111 Новичок

    С нами с:
    24 окт 2016
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте, помогите разобраться
    Имеется в SQL
    PHP:
    1. a:4:{
    2. i:1;a:2:{i:0;s:3:"группа1";i:1;a:1:{i:подгруппа1;d:840;i:подгруппа2;d:7032848;i:подгруппа3;d:12970944;}}
    3. i:2;a:2:{i:0;s:3:"группа2";i:1;a:1:{i:подгруппа1;d:1;i:подгруппа2;d:345;}}
    4. i:3;a:2:{i:0;s:1:"группа3";i:1;a:1:{i:подгруппа1;d:30;i:подгруппа2;d:63;}}
    5. i:4;a:2:{i:0;s:1:"группа4";i:1;a:1:{i:подгруппа1;d:1;}}}
    код в php
    PHP:
    1. $groop = array();
    2.                 $SETING = $GLOBALS['DATABASE']->uniquequery("SELECT groop  FROM ".BAZA.";");
    3.                                      
    4.                 if(!empty($SETING['groop']))
    5.                         $groop  = unserialize($SETING['groop']);
    6.              
    7.                 $fleetGroopShip = array();
    8.                 $fleetGroopName = array();
    9.              
    10.                 foreach ($fleet_groop as $Row)
    11.                 {
    12.                         $fleetGroopShip[] = $Row[1];
    13.                         $fleetGroopName[] = $Row[0];
    14.                 }
    Выводится в tpl
    HTML:
    1. {for $i = 1; $i <= count($fleetGroopName); $i = $i + 4}
    2.           <tr>
    3.             {if !empty($fleetGroopName[$i-1])}
    4.             <td>
    5.                 <a href="javascript:GroopShips({$i-1});" >{$fleetGroopName[$i-1]}</a>
    6.             </td>
    7.             {/if}
    8.             {if !empty($fleetGroopName[$i])}
    9.             <td>
    10.                 <a href="javascript:GroopShips({$i});">{$fleetGroopName[$i]}</a>
    11.             </td>
    12.             {/if}
    13.             {if !empty($fleetGroopName[$i+1])}
    14.             <td>
    15.                 <a href="javascript:GroopShips({$i+1});" >{$fleetGroopName[$i+1]}</a>
    16.             </td>
    17.             {/if}
    18.             {if !empty($fleetGroopName[$i+2])}
    19.             <td>
    20.                 <a href="javascript:GroopShips({$i+2});" >{$fleetGroopName[$i+2]}</a>
    21.             </td>
    22.             {/if}
    23.            </tr>
    24. {/for}
    исходный код
    HTML:
    1. <tr>
    2.                             <td>
    3.                 <a href="javascript:GroopShips(1);" >группа1</a>
    4.             </td>            
    5.             <td>
    6.                 <a href="javascript:GroopShips(2);">группа2</a>
    7.             </td>
    8.                                         <td>
    9.                 <a href="javascript:GroopShips(3);" >группа3</a>
    10.             </td>
    11.                                         <td>
    12.                 <a href="javascript:GroopShips(4);" >группа4</a>
    13.             </td>
    14. </tr>
    То есть выводится все группы в tpl.
    как сделать чтобы в каждой группе выводилось все подгруппы этой группы?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ничего не понятно
     
  3. Илья111

    Илья111 Новичок

    С нами с:
    24 окт 2016
    Сообщения:
    5
    Симпатии:
    0
    Пример:
    выводится список групп
    группа 1
    группа 2
    группа 3
    группа 4

    Как сделать чтобы к в каждой группы выводилась подгруппа?

    Пример
    группа 1
    (подгруппа 1, подгруппа 2, подгруппа 3.... и так далее)
    группа 2
    (подгруппа 1, подгруппа 2)
    группа 3
    (подгруппа 1, подгруппа 2, подгруппа 3)
    группа 4
    (подгруппа 1, подгруппа 2,)
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    не хочет делать unserialize
    PHP:
    1. <?php
    2. $u = 'a:4:{
    3. i:1;a:2:{i:0;s:3:"группа1";i:1;a:1:{i:подгруппа1;d:840;i:подгруппа2;d:7032848;i:подгруппа3;d:12970944;}}
    4. i:2;a:2:{i:0;s:3:"группа2";i:1;a:1:{i:подгруппа1;d:1;i:подгруппа2;d:345;}}
    5. i:3;a:2:{i:0;s:1:"группа3";i:1;a:1:{i:подгруппа1;d:30;i:подгруппа2;d:63;}}
    6. i:4;a:2:{i:0;s:1:"группа4";i:1;a:1:{i:подгруппа1;d:1;}}}';
    7. $arr = unserialize($u);
    8. var_export($arr);
    --- Добавлено ---
    Может структуру в mysql переделать на Adjacency List
     
  5. Илья111

    Илья111 Новичок

    С нами с:
    24 окт 2016
    Сообщения:
    5
    Симпатии:
    0
    Мне не очень понятно, Нужно чтобы в tpl в группе выводились подгруппы.
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ну твои функция unserialize данные не перегоняет в array
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    @denis01 перевод строки убери

    @Илья111 это вопрос к шаблонизатору, как там рекурсию организовать или че там тебе требуется.
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    не помогает, так что лучше дождаться от автора нормальных данных, так как с этим unserialize обычно проблемы от версии к версии или с кодировкой
     
  9. Илья111

    Илья111 Новичок

    С нами с:
    24 окт 2016
    Сообщения:
    5
    Симпатии:
    0
    Что мне нужно для этого сделать?

    Какие данные тебе нужны? Я вроде всё объяснил что мне надо.
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    какой массив содержит группы и подгруппы?
     
  11. Илья111

    Илья111 Новичок

    С нами с:
    24 окт 2016
    Сообщения:
    5
    Симпатии:
    0
    Тема закрыта, я всё сделал.
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    никому не говори как
     
    denis01 нравится это.