Дополнение при выводе

160
18 октября 2018, 01:00

выводится такое дерево, как заполнят у каждого пользователя - два реферала, как дополнять недостающие нфпример словом - "пусто", например у valii78 справа нет соседа, тогда дописать там пусто

<?php
$sql= "SELECT id, parent_id, user_id FROM modxev_programm_one group by `id` asc";
$cats = array();
$statement = $modx->query($sql);
$parent = $statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($parent as $res) {
    $cats[$res['parent_id']][] =  $res;
}
function build_tree($cats,$parent_id, $lvl){
    if ($lvl > 6) { return ''; }
    global $modx;
    if(is_array($cats) and count($cats[$parent_id])>0){
        $tree = '<div class="item-children">';
        $count = 0;
         foreach($cats[$parent_id] as $cat){
            $count = $count + 1;
            $coountt = $cat['parent_id'];
            if ($us = $modx->getObject('modUser', $cat['user_id'])){
                $login = $us->get('username');
            }
            if ($us = $modx->getObject('modUserProfile', $cat['user_id'])){
                $fio = $us->get('fullname');
                $skype = $us->get('skype');
                $phone = $us->get('phone');
                $mail = $us->get('email');
                if ($us->get('photo')){
                    $photo = $us->get('photo');
                }else $photo='assets/img/noimg.jpg';
            }
            $tree .= '<div class="item-child">
                        <div class="item">
                            <div class="item-parent">';
            $tree .= '<div class="item-data" data-fio="'.$fio.'" data-skype="'.$skype.'" data-mail="'.$mail.'" data-phone="'.$phone.'"  data-photo="'.$photo.'">
                            <img src="'.$photo.'" alt="'.$login.'">
                            <div class="span">'.$login.' - '.$count.'</div>
                        </div>
                    </div>';
            $tree .=  build_tree($cats,$cat['id'],($lvl+1));
            $tree .= '
                </div>
            </div>
            ';         
         }
         $tree .= '</div>';
     } 
     else {
         $tree = '<div class="item-children">';
         $tree .= '<div class="item-child">
                        <div class="item">
                            <div class="item-parent">';
            $tree .= '<div class="item-data" data-fio="Свободное место" data-skype="Свободное место" data-mail="Свободное место" data-phone="Свободное место"  data-photo="Свободное место">
                            <img src="assets/img/noimg.jpg" alt="Свободное место">
                            <div class="span">Свободное место '.$count.'</div>
                        </div>
                    </div>';
            $tree .= '
                </div>
            </div>
            ';    
         $tree .= '</div>';
         return 'none';
     }; 
     return $tree; 
}
$sqlu= "SELECT id FROM modxev_programm_one where user_id=".$modx->user->get('id')."";
$st = $modx->query($sqlu);
$pr = $st->fetchAll(PDO::FETCH_ASSOC);
foreach ($pr as $row) {
    echo build_tree($cats,$row['id'],1);
}
READ ALSO
Другие вариации решения задачи?

Другие вариации решения задачи?

Имеется следующий массив, как правильно Нужно подсчитать сумму элементов count, я делаю это циклом:

154
не обрабатывает запрос php

не обрабатывает запрос php

Установлена связка Apace 24 (centos 7) + mod_php+nginx/1

154
Где после установки найти slim framework на ubuntu 17.04?

Где после установки найти slim framework на ubuntu 17.04?

Где после установки найти slim framework на ubuntu 1704 ?

146
MySQL + PHP обновление/добавление записей в БД SELECT + UPDATE/INSERT = дубликаты

MySQL + PHP обновление/добавление записей в БД SELECT + UPDATE/INSERT = дубликаты

У меня есть некий кусок кода для обновления/добавления записи в БД который выбирает запись из БД SELECT-ом, и если она есть - делает UPDATE, если нет...

157