První novoroční výprodej První novoroční výprodej

Diskuze: pole vypisuje jak asociativní tak normální hodnoty

Aktivity (2)
Avatar
tribal.cz
Redaktor
Avatar
tribal.cz: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
Naši partneři možná hledají právě tebe!
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.