Мини скрипт для построения деревьев

27.06.2018 00:10:44

Это самый базовый скрипт для вывода на экран дерева.

 
<?php

  error_reporting(E_ALL);
  ini_set('display_errors', 'On');


  require_once('vendor/autoload.php');

  use Oddler\Pdo\DBCore;
  $DBCore = DBCore::getInstance();


  global $oDB1;
  $oDB1 = $DBCore->connect( array(
    'host'     => 'localhost',
    'user'     => 'sky1',
    'password' => 'XXX',
    'database' => 'db_sky1',
    'charset' => 'utf8',
    'database_type' => 'mysql'
  ));	



  function makeLevel($id, $iLevel = 0)
  {
    global $oDB1;

    $iLevel++;

    $oDB1->setQuery('SELECT * FROM `sojos_socode_repository_category` WHERE id_parent='.$id);
    //$oDB1->setQuery('SELECT * FROM `wxo0s_so_blog_category` WHERE id_parent='.$id);
    $aRows = $oDB1->loadObjectsList();
    if(count($aRows))
    {
?>	
<ul>
<?
      foreach($aRows as $oRow)
      {
        $oDB1->setQuery('SELECT count(*) AS c FROM `sojos_socode_repository_rel_ci` WHERE id_cat='.$oRow->id);
        //$oDB1->setQuery('SELECT count(*) AS c FROM `wxo0s_so_blog_rel_categories2item` WHERE id_cat='.$oRow->id);
        $oTMP = $oDB1->loadObject();
?>
    <li>
        [<?=$oRow->id?>] <b><?=$oRow->title?></b> (<?=$oTMP->c?>)
        
        <? makeLevel($oRow->id, $iLevel)?>
    </li>
<?
      
      }
?>
</ul>
<?
    }
  }
  
  makeLevel(0);


Категории: PHP, Script / Tool
Пометки: дерево, tree
Яндекс.Метрика