Birisi merhaba bir php dişli yorum sistemi için bu sınıf açıklayabilir misiniz?

0 Cevap php

Ben php kullanarak dişli bir yorum sistemi uygulamak çalışıyorum, ve ben zaten yazılı bir şey buldum, ama tam olarak nasıl kullanılacağını göremiyorum, ben de bütün sınıflar aşina değilim, bu yüzden birisi açıklanmasına yardımcı olabilir, ben merak ediyorum nasıl i kodunu kullanabilirsiniz. Aşağıdaki kodu web sitesi değil

http://www.jongales.com/blog/2009/01/27/php-class-for-threaded-comments/

aşağıdaki gibi sınıflar için kod:

class Threaded_comments
{

    public $parents  = array();
    public $children = array();

    /**
     * @param array $comments
     */
    function __construct($comments)
    {
        foreach ($comments as $comment)
        {
            if ($comment['parent_id'] === NULL)
            {
                $this->parents[$comment['id']][] = $comment;
            }
            else
            {
                $this->children[$comment['parent_id']][] = $comment;
            }
        }
    }

    /**
     * @param array $comment
     * @param int $depth
     */
    private function format_comment($comment, $depth)
    {
        for ($depth; $depth > 0; $depth--)
        {
            echo "\t";
        }

        echo $comment['text'];
        echo "\n";
    }

    /**
     * @param array $comment
     * @param int $depth
     */
    private function print_parent($comment, $depth = 0)
    {
        foreach ($comment as $c)
        {
            $this->format_comment($c, $depth);

            if (isset($this->children[$c['id']]))
            {
                $this->print_parent($this->children[$c['id']], $depth + 1);
            }
        }
    }

    public function print_comments()
    {
        foreach ($this->parents as $c)
        {
            $this->print_parent($c);
        }
    }

}

Site kullanımı bir örnek olacağını söylüyor:

$comments = array(  array('id'=>1, 'parent_id'=>NULL,   'text'=>'Parent'),
                    array('id'=>2, 'parent_id'=>1,      'text'=>'Child'),
                    array('id'=>3, 'parent_id'=>2,      'text'=>'Child Third level'),
                    array('id'=>4, 'parent_id'=>NULL,   'text'=>'Second Parent'),
                    array('id'=>5, 'parent_id'=>4,   'text'=>'Second Child')
                );

$threaded_comments = new Threaded_comments($comments);

$threaded_comments->print_comments();

ama burada sorunlar yaşıyorum nerede. Öncelikle, ben, ben veritabanını kurma nasıl olması gerektiğini tam olarak emin değilim

Şu anda sadece 3 satır vardır,

id
page
user
comment

Ve ben mysqli hazırlanmış deyimleri kullanarak bu veritabanını sorgulayarak edilecektir. Bu gibi Muhtemelen bir şey:

$DBH = getDBH();
$q = $DBH->prepare("SELECT * FROM comments WHERE page = ?");
$q->bind_param("i", $page);
$q->execute();

ama emin değilim, nasıl ben bu görüntüleme hakkında gidebiliriz, ben açıklama başka bir başka bir çocuk ise bildirmek için, veritabanına eklenen başka bir satır olması gerekir biliyorum. Herhangi bir yardım büyük takdir

0 Cevap