<?php
function getTree2($parent2) {
$path = MODX_CORE_PATH . 'components/pepish2/';
$result = $modx->addPackage('pepish2',$path . 'model/','pp_');
if($result){
$g = $modx->newQuery('Category');
$g->where(array(
'parent_id' => $parent2,
));
$trees = $modx->getCollection('Category',$g);
}
$pole2 = array();
foreach ($trees as $tre) {
$pole2[] = $tre->get('category_id');
$pole2 = array_merge($pole2, getTree2($tre->get('category_id')));
echo '$pole2'.$pole2.'<br>';
}
return $pole2;
}
$iii = '9'; //this is only sample number
$seznam_kategorii = getTree2($iii);
echo '<br>$seznam_kategorii= '.$seznam_kategorii.'<br>';
$seznam_kategorii[] = $iii;
$seznam_kategorii_retezec = implode(',', $seznam_kategorii);
echo '<br>Seznam kategorií: '.$seznam_kategorii_retezec.'<br>';Seznam kategorií: 26,21,30,27,31,25,23,28,24,22,29,9
Internal Server Error
<?php
function getTree2($parent2) {
$database3="databasename";
mysql_connect ("mysql.server", "user", "password");
mysql_query('SET NAMES utf8');
@mysql_select_db($database3) or die( "Unable to select database");
$result2 = mysql_query('SELECT * FROM category WHERE parent_id='.$parent2.' ORDER BY name asc');
$pole2 = array();
while ($row2 = mysql_fetch_assoc($result2)) {
$pole2[] = $row2['id'];
// array_merge($pole2, getTree2($row2['id']));
$pole2 = array_merge($pole2, getTree2($row2['id']));
}
return $pole2;
}
$iii = 9;
$seznam_kategorii = getTree2($iii);
$seznam_kategorii[] = $iii;
$seznam_kategorii_retezec = implode(',', $seznam_kategorii);
echo '<br>Seznam kategorií: '.$seznam_kategorii_retezec.'<br>';
<?php
function getTree2($parent2)
{
global $modx;
$g = $modx->newQuery('Category');
$g->where(array('parent_id' => $parent2));
$pole2 = array();
if ($trees = $modx->getCollection('Category', $g)) {
foreach ($trees as $tre) {
$pole2[] = $tre->get('category_id');
$pole2 = array_merge($pole2, getTree2($tre->get('category_id')));
echo '$pole2' . $pole2 . '';
}
}
return $pole2;
}
$path = MODX_CORE_PATH . 'components/pepish2/';
$result = $modx->addPackage('pepish2', $path . 'model/', 'pp_');
if ($result) {
$iii = '9'; //this is only sample number
$seznam_kategorii = getTree2($iii);
}
echo '$seznam_kategorii= ' . $seznam_kategorii . '';
$seznam_kategorii[] = $iii;
$seznam_kategorii_retezec = implode(',', $seznam_kategorii);
echo 'Seznam kategoriÃ: ' . $seznam_kategorii_retezec . '';
if($result){
$f = $modx->newQuery('Galerie');
$f->where(array(
'kategorie:IN' => array($seznam_kategorii_retezec),
));
$f->sortby('galerie_id','ASC');
$vypis = $modx->getCollection('Galerie',$f);
}Seznam kategorií: 20,13,18,14,16,17,12,19,15,8
SELECT `Galerie`.`galerie_id` AS `Galerie_galerie_id`, ******* FROM `pp_galerie` AS `Galerie` WHERE `Galerie`.`kategorie` IN (20) ORDER BY galerie_id ASC
$f->where(array('kategorie:IN' => $seznam_kategorii));does this work for you?
$f->where(array('kategorie:IN' => $seznam_kategorii));
<?php
function getTree($parent) {
global $modx;
$path = MODX_CORE_PATH . 'components/pepish2/';
$result = $modx->addPackage('pepish2',$path . 'model/','pp_');
if($result){
$g = $modx->newQuery('Category');
$g->where(array(
'parent_id' => $parent,
));
$trees = $modx->getCollection('Category',$g);
}
$pole = array();
foreach ($trees as $tre) {
$pole[] = $tre->get('category_id');
$pole = array_merge($pole, getTree($tre->get('category_id')));
}
return $pole;
}
$path = MODX_CORE_PATH . 'components/pepish2/';
$result = $modx->addPackage('pepish2',$path . 'model/','pp_');
echo '<form action="[[~[[*id]]]]" method="post" class="form">
<select name="sel_cat" size="1">';
if($result){
$d = $modx->newQuery('Category');
$d->where(array(
'view' => '1',
));
$d->orCondition(array(
'view' => '2',
));
$d->sortby('category_id','ASC');
//$d->limit('16');
$seznam = $modx->getCollection('Category',$d);
}
foreach ($seznam as $sez) {
echo '<option value='.$sez->get('category_id').'>'.$sez->get('name').'</option>';
}
echo '</select>
<input type="submit" value="odeslat">
</form><br><hr>';
$d->prepare();
echo 'SQL QUERY:<br><font face="Tahoma" size="-2" color="#FFFF99">'.$d->toSql().'</font><br><hr>';
if (!isset($_POST['sel_cat'])) $_POST['sel_cat'] = '0';
$a = ($_POST['sel_cat']);
echo 'ID zvolené kategorie je: '.$a.'<br>';
if($result){
$e = $modx->newQuery('Category');
$e->where(array(
'category_id' => $a,
));
$seze = $modx->getCollection('Category',$e);
}
foreach ($seze as $se) {
echo 'Vybraná kategorie je: '.$se->get('name').'<hr>';
}
$iii = $a;
$seznam_kategorii = getTree($iii);
$seznam_kategorii[] = $iii;
$seznam_kategorii_retezec = '\''.implode('\',\'', $seznam_kategorii).'\'';
echo 'Seznam kategorií celé vybrané větve: <br>'.$seznam_kategorii_retezec.'<br><hr>';
if($result){
$f = $modx->newQuery('Galerie');
$f->where(array('kategorie:IN' => $seznam_kategorii));
$f->sortby('galerie_id','ASC');
//$f->limit('16');
$vypis = $modx->getCollection('Galerie',$f);
}
$f->prepare();
echo 'SQL QUERY:<br><font face="Tahoma" size="-2" color="#FFFF99">'.$f->toSql().'</font><br><hr>';
echo 'Celkový počet nalezených záznamů: '.count($vypis).'<br><hr>';
echo '<div id="db">
<table align="center" width="96%" height="auto" border="1" bordercolor="#FFCC00" bgcolor="#008080">';
echo '<tr class="tab"><th>ID</th><th>Name CZ</th><th>Name Latin</th><th>Místo</th><th>Datum snímku</th><th>Cesta k fotografii</th></tr>';
foreach ($vypis as $vyp) {
echo '<tr>';
echo '<td> '.$vyp->get('galerie_id').'</td>'."\n";
echo '<td> '.$vyp->get('name_cz').'</td>'."\n";
echo '<td> '.$vyp->get('name_lat').'</td>'."\n";
echo '<td> '.$vyp->get('kde').'</td>'."\n";
echo '<td> '.$vyp->get('kdy').'</td>'."\n";
echo '<td> '.$vyp->get('path_large').'</td>'."\n";
echo '</tr>';
}
echo '</table>
</div> <!-- end db -->';