Родителски коментари

Ev0luti0N

Registered
Здравейте, днес реших да си направя коментарки с отговори. Тоест има един коментар и се отговаря на него. Та имам полетата: comment_id, comment_parent, comment_text. Реално ми излеждаше лесно. Изведох всичките коментари, направих си проверка:
PHP:
if ($row_comments['comment_parent'] == 0) {
echo $row_comments['comment_text'];
}
Какво правя? - записвам в comment_parent id-то на коментара който са коментирали. След това ако са коментирали коменар с id=2 записва в comment_parent=2, та как ще стане когато извеждам коментарите да изведа под всеки коментиран коментар, коментара който има comment_parent=id-то на коментара.

Дано сте ме разбрали, ако не питайте! :)
 
А ся де.. :shock:
Ev0luti0N каза:
как ще стане когато извеждам коментарите да изведа под всеки коментиран коментар, коментара който има comment_parent=id-то на коментара.

Дано сте ме разбрали, ако не питайте! :)
 
момчето иска да знае как да си направи "система" за отговори на коментари , да се показват всички коментари за сътватният коментар затова му трябва comment_id.. :) :evil: :D
 
Ако става на въпрос за цитат към коментарите, може да се направи с примерен линк.

comments.php?reply=ID взимаш IDто с
PHP:
$_GET['reply'];
правиш проверка на потребителя , който е написал мнението със съответното ID и след т'ва си добавяш таг във формата за писане.
нaпример:

HTML:
<textarea name="contents" rows="7" cols="40" class="form_elements_text">
[quote name="USER"]

[/quote]</textarea>

След т'ва php-то:

PHP:
$text = preg_replace("/\[quote\=(.+?)](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>$1 каза:</td></tr><tr><td width="100%" style="border:solid 1px black">$2</td></tr></table>',$text);

Добавяш си информацията в базата от данни... надявам се да си ме разбрал.

Ако все пак те мързи да помислиш или не си ме разбрал ще ти драсна примерен код.
 
nom3r1 каза:
Ако става на въпрос за цитат към коментарите, може да се направи с примерен линк.

comments.php?reply=ID взимаш IDто с
PHP:
$_GET['reply'];
правиш проверка на потребителя , който е написал мнението със съответното ID и след т'ва си добавяш таг във формата за писане.
нaпример:

HTML:
<textarea name="contents" rows="7" cols="40" class="form_elements_text">
[quote name="USER"]

[/quote]</textarea>

След т'ва php-то:

PHP:
$text = preg_replace("/\[quote\=(.+?)](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>$1 каза:</td></tr><tr><td width="100%" style="border:solid 1px black">$2</td></tr></table>',$text);

Добавяш си информацията в базата от данни... надявам се да си ме разбрал.

Ако все пак те мързи да помислиш или не си ме разбрал ще ти драсна примерен код.
Не бе хорца..
Толкова ли примерно не сте виждали коментарите на vbox? youtube? как има отговор. След като се натисне коментара се появява под коментара който е натиснал отговор :shock:
 
Mapu0 каза:
то пак ще има array,ама ще е mysql_fetch_array :D :?:
Защо mysql_fetch_array няма смисъл. mysql_fetch_array ти дава възможст да изкарваш имената от таблица или с техните имена или с числа. Най-добре си е mysql_fetch_assoc. :?:
 
Ако имаш коментар и той трябва да се коментира то трябва да имаш две таблици.
Едната за парент коментара а другата за коментарите на парент коментара.

Това се правят две таблици и връзката между таблиците може да видиш тук:

http://web-tourist.net/login/login/view.php?st=2984

В урока е с категории но това е абсолютно същото и с коментарите.

Просто едната таблица е свързана с другата и може да лситнеш всичко.

Ако съм разбрал правилно де, защото наистина не си обяснил добре, не си казал колко таблици ползваш не си дал структурата на таблиците, а в същото време се сърдиш ако че някой не е разбрал и пита и дори се разправяш с другите потребители и дори докладваш темата.

Имай предвид, че изтрих коментарите в които те питат за разяснение потребителите и ти се зъбиш яко на всеки, който каже, че не е разбрал.
Наречи ме както искаш но аз така и не разбрах какво питаш и се опитвам на сляпо да отговоря.
 
admin каза:
Ако имаш коментар и той трябва да се коментира то трябва да имаш две таблици.
Едната за парент коментара а другата за коментарите на парент коментара.

Това се правят две таблици и връзката между таблиците може да видиш тук:

http://web-tourist.net/login/login/view.php?st=2984

В урока е с категории но това е абсолютно същото и с коментарите.

Просто едната таблица е свързана с другата и може да лситнеш всичко.

Ако съм разбрал правилно де, защото наистина не си обяснил добре, не си казал колко таблици ползваш не си дал структурата на таблиците, а в същото време се сърдиш ако че някой не е разбрал и пита и дори се разправяш с другите потребители и дори докладваш темата.

Имай предвид, че изтрих коментарите в които те питат за разяснение потребителите и ти се зъбиш яко на всеки, който каже, че не е разбрал.
Наречи ме както искаш но аз така и не разбрах какво питаш и се опитвам на сляпо да отговоря.
Не съм се зъбил. Казал съм, че ако има въпроси да се задават, а не коментари от типа на "Не съм спамил" и тем подобни.
Добре не съм го обяснил като хората. Ето по-добро обяснение.
И без това с категориите съм сигурен, че пак става. Имам таблица в полета id, parent, text. Този parent ако е 0 значи коментара е цял тоест не е коментирал друг коментар. Ако обаче в този parent се съдържа число, то трябва този коментар да отиде под коментара с id което е равно на числото съдържащо се в parent. Незнам точно как да го обясня по-точно това. С две думи id=parent. Ако пак не сте ме разбрали направо темата в коша. :)
 
АКо имаш 1 таблица за всичко то тогава

PHP:
<?php

$query=mysql_query("SELECT * FROM komentari where parent_id=0");
while($row= mysql_fetch_array($query))
	{

echo $row[comment_text].'</br>';
        
	 $query_sub_comment=mysql_query("SELECT * FROM komentari where comment_parent=".$row[id]);
            while($row_sub_comment= mysql_fetch_array($query_sub_comment))
	      {
	         echo $row_sub_comment[comment_text].'</br>';
	         
	      }




    }
?>
 
admin каза:
АКо имаш 1 таблица за всичко то тогава

PHP:
<?php

$query=mysql_query("SELECT * FROM komentari where parent_id=0");
while($row= mysql_fetch_array($query))
	{

echo $row[comment_text].'</br>';
        
	 $query_sub_comment=mysql_query("SELECT * FROM komentari where comment_parent=".$row[id]);
            while($row_sub_comment= mysql_fetch_array($query_sub_comment))
	      {
	         echo $row_sub_comment[comment_text].'</br>';
	         
	      }




    }
?>
Да това го мислих и аз, ще го пробвам само че с join :)
 
Така под всеки главен коментар ще има неговите подкоментари и всичко се вади от една таблица.
 
Ev0luti0N каза:
admin каза:
АКо имаш 1 таблица за всичко то тогава

PHP:
<?php

$query=mysql_query("SELECT * FROM komentari where parent_id=0");
while($row= mysql_fetch_array($query))
	{

echo $row[comment_text].'</br>';
        
	 $query_sub_comment=mysql_query("SELECT * FROM komentari where comment_parent=".$row[id]);
            while($row_sub_comment= mysql_fetch_array($query_sub_comment))
	      {
	         echo $row_sub_comment[comment_text].'</br>';
	         
	      }




    }
?>
Да това го мислих и аз, ще го пробвам само че с join :)
Не може с join тук. Единствения начин е това, защото ако имаш 1 коментар и 10 parent коментара ще ти върне 11 резултата. Пък и как ще ги разграничиш?
 

Back
Горе