<?php
require("variables.php");
mysql_select_db($db,$con);
$sql = ("SELECT * FROM test_diskusia");
$everything = mysql_query($sql);
$rows = mysql_num_rows($everything);
$i = 0;
while ($i < $rows)
{
$reactsTo = mysql_result($everything, $i, "reactsTo");
//if ($reactsTo == 0){
$id = mysql_result($everything, $i, "id");
$name = mysql_result($everything, $i, "name");
$title = mysql_result($everything, $i, "title");
$date = mysql_result($everything, $i, "date");
$rating = mysql_result($everything, $i, "rating");
$text = mysql_result($everything, $i, "text");
echo("<div class='commentbox'>
<div class='top'>
<div class='id'>#$id</div>
<div class='title'>$title</div>
<div class='rating'>$rating</div>
</div>
<div class='commentbody'>$text</div>
<div class='bottom'>
<div class='name'>$name</div>
<div class='react'> <a href='addcomment.php?reaction=$id'>(reagovať)</a></div>
<div class=date>$date</div>
</div>
</div>");
$replies = ("SELECT * FROM test_diskusia WHERE reactsTo = $id");
$allReplies = mysql_query($replies);
$totalReplies = mysql_num_rows($allReplies);
$j = 0;
if ($totalReplies > 0)
{
while ($j < $totalReplies)
{
$replyLevel = 1;
$marginPX = $replyLevel * 20;
$units = "px";
$margin = $marginPX.$units;
$id = mysql_result($allReplies, $j, "id");
$name = mysql_result($allReplies, $j, "name");
$title = mysql_result($allReplies, $j, "title");
$date = mysql_result($allReplies, $j, "date");
$reactsTo = mysql_result($allReplies, $j, "reactsTo");
$rating = mysql_result($allReplies, $j, "rating");
$text = mysql_result($allReplies, $j, "text");
echo("<div class='commentbox' style='margin-left:$margin;'>
<div class='top'>
<div class='id'>#$id</div>
<div class='title'>$title</div>
<div class='rating'>$rating</div>
</div>
<div class='commentbody'>$text</div>
<div class='bottom'>
<div class='name'>$name</div>
<div class='react'> <a href='addcomment.php?reaction=$id'>(reagovať)</a></div>
<div class=date>$date</div>
</div>
</div> ");
$j++;
}
}
$i++;
//}
}
?>
Skript je vlastne začatá diskusia k článku, snažím sa docieliť podobný štýl ako má SME.sk. Keď odstránim komentáre a otestujem kód, trvá to veľmi dlho, až nakoniec dostanem Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\diskusia\index.php on line 25 (nevkladám celý súbor, preto iné číslo riadku). V testovacej databáze mám pritom iba 5 príspevkov. Ten riadok však potrebujem, pretože kontroluje, či je príspevok odpoveďou na iný, ak nie, tak ho vypíše.
Tiež mám problém s viacnásobnými odpoveďami (odpoveď na odpoveď), pretože môj skript zvládne iba jednu. Potreboval by som nejaký tip ako približne na to, pretože už vidím, že mojim spôsobom to nepôjde.