Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Martin Suchodol:22.12.2019 13:56

ahoj, opět začínám s php :-D, primárně se zaměřuji na jiný jazyk. A tohle mám spíš jako zábavu. Zkouším si vyrobit diskuzní widget. diskuzi k článku podobně jako to je zde na it networku pod články, ale ve stromovém formátu. Nejspíš mám jen nějakou blbost v kódu, ale prostě ji nevidím. Pomocí rekurze vypisuji, data do stromu (formátování stromu jsem si vypůjčil ze zdejšího kuzu na eshop). Poté jednoduchým dotazem vytáhnu všechny komentáře z databáze. Vše funguje, ale když si pomocí print_r() pokusím data vypsat, tak se mi jakoby zdvojnásobí viz obrázek. Kód je následující

<?php

class Comment
{
    public function formatTree($comments, $parentId = null) {
        $tree = array();
        foreach ($comments as $comment) {
            if($comment['comment_parent_id'] == $parentId) {
                $tree[$comment['comment_id']] = $comment;
                $tree[$comment['comment_id']]['subcomment'] = $this->formatTree($comments, $comment['comment_id']);
            }
        }
        return $tree;
    }

    public function getComments($articleId) {
        $query = Db::queryAll('
            SELECT *
            FROM comment
            WHERE article_id = ?
            ORDER BY comment_id
        ', array($articleId));
                return $this->formatTree($query);
    }
}

Soubor index.php

<?php
        $query = new Comment();
        $result = $query->getComments($_GET['stranka']);
        print("<pre>".print_r($result, true)."</pre>");

    ?>
 
Odpovědět
22.12.2019 13:56
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:22.12.2019 17:51

echo '<pre>' . htmlspecialchar­s($html) . '</pre>';

 
Nahoru Odpovědět
22.12.2019 17:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.