Witam,
w poprzednim wątku troche zakręciłem i stwierdziłem że się nieda więc zrobię to inaczej lecz dodając więcej kodu

BAZA:

Mam funkcje tworzącą drzewko:
<?php function buildTree
(array $elements, $parentId = 0
) {
foreach ($elements as $element) {
if ($element['qoute_id'] == $parentId) {
$children = buildTree($elements, $element['id']);
if ($children) {
$element['children'] = $children;
}
if(isset($_GET['id3'])){ $gettrzy = $_GET['id3']; }else{ $gettrzy = 1; }; $element['seo_link'] = $_GET['id2'].'/'.$gettrzy;
$branch[] = $element;
}
}
return $branch;
} ?>
<?php $stmt = $pdo -> prepare('SELECT * FROM `'.$prefix_mysql.comments.'` WHERE comment = :id_newsa ORDER BY time ASC LIMIT : od, : do');
$stmt -> bindValue(': od', $start, PDO::PARAM_INT);
$stmt -> bindValue(': do', $results, PDO::PARAM_INT);
$stmt -> bindValue(':id_newsa', 'news_'.$id_news, PDO::PARAM_INT);
$stmt -> execute();
$wiersz = $stmt ->fetchAll(PDO::FETCH_ASSOC);
$tree = buildTree($wiersz); ?>
I działa znakomicie:

Lecz koliduje mi to z paginacją i żeby to rozwiązać przejdźmy dalej..
Wymyśliłem następujący sposób:
<?php
$stmt = $pdo -> prepare('SELECT * FROM `'.$prefix_mysql.comments.'` WHERE comment = :id_newsa AND qoute_id = 0 ORDER BY time ASC LIMIT : od, : do');
$stmt -> bindValue(': od', $start, PDO::PARAM_INT);
$stmt -> bindValue(': do', $results, PDO::PARAM_INT);
$stmt -> bindValue(':id_newsa', 'news_'.$id_news, PDO::PARAM_INT);
$stmt -> execute();
$wiersz = $stmt ->fetchAll(PDO::FETCH_ASSOC); ?>
dodałem
AND qoute_id = 0 czyli pobieram sobie 4 rekordy główne:

Do tego dodać rekurencje całość umieścić w pętli i pododawać wszystkie rekordy a funkcja buildTree mi to ładnie ogarnie i do tego zadziała paginacja ponieważ w tym zapytaniu pobiore samych rodziców a dzieci nie potnie

Problem leży po stronie mojej rekurencji otóż nie działa..
<?php function buildTpe($wier) {
foreach ($wier as $key => $value) {
$stmt = $pdo -> prepare('SELECT * FROM `'.$prefix_mysql.comments.'` WHERE qoute_id = :id');
$stmt -> bindValue(':id', $value['id'], PDO::PARAM_INT);
$stmt -> execute();
while($row_d = $stmt -> fetch()){
return $row_d;
$wiersz[] = buildTpe($row_d);
}
}
}$wiersz[] = buildTpe($wiersz);
$tree = buildTree($wiersz); ?>
i mam coś takiego:

Proszę o wskazówki co robię źle i podpowiedzi

Dziękuje!
Ten post edytował snerf 22.03.2015, 19:28:02