Helaas.
De code:
<? if(empty($_GET['pagina']))
header("location: ../../content.php?pagina=forum/forum");
$select = "SELECT * FROM forum_categorieen ORDER BY naam";
$query = mysql_query($select)or die(mysql_error());
if(mysql_num_rows($query) == 0)
{
echo "<div class=\"titel\">Fout</div>";
echo "<div class=\"bericht\">Er zijn nog geen forumcategorieen aangemaakt...</div>";
}
else
{
while($list = mysql_fetch_object($query))
{
echo "<div class=\"titel\">";
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"98%\">";
echo "<tr>";
echo "<td width=\"5%\"></td>";
echo "<td width=\"45%\"><b>".htmlspecialchars($list->naam)."</b></td>";
echo "<td width=\"10%\"><b>Topics</b></td>";
echo "<td width=\"10%\"><b>Reacties</b></td>";
echo "<td width=\"30%\"><b>Laatste post</b></td>";
echo "</tr>";
echo "</table>";
echo "</div>";
echo "<div class=\"bericht\">";
echo "<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"98%\">";
$select2 = "SELECT * FROM forum_subcategorieen WHERE categorieid = '".$list->id."' ORDER BY naam";
$query2 = mysql_query($select2)or die(mysql_error());
if(mysql_num_rows($query2) == 0)
{
echo "<tr>";
echo "<td colspan=\"5\">Geen subcategorieƫn aanwezig...</td>";
echo "</tr>";
}
else
{
while($list2 = mysql_fetch_object($query2))
{
$select3 = "SELECT * FROM forum_onderwerpen WHERE forum = '".$list2->id."'";
$query3 = mysql_query($select3)or die(mysql_error());
$select4 = "SELECT * FROM forum_onderwerpen WHERE forum = '".$list2->id."' ORDER BY id DESC LIMIT 0,1";
$query4 = mysql_query($select4)or die(mysql_error());
$list4 = mysql_fetch_object($query4);
$select5 = "SELECT forum_reacties.datum AS datum, forum_reacties.auteur AS auteur, forum_reacties.naam_anoniem AS naam_anoniem
FROM forum_reacties JOIN forum_onderwerpen ON forum_reacties.topicid = forum_onderwerpen.id
WHERE forum_onderwerpen.forum = '".$list2->id."' ORDER BY forum_reacties.id DESC LIMIT 0,1";
$query5 = mysql_query($select5)or die(mysql_error());
$list5 = mysql_fetch_object($query5);
if(mysql_num_rows($query4) == 0 && mysql_num_rows($query5) == 0)
$laatste = "Geen";
elseif($list4->datum > $list5->datum)
{
$select6 = "SELECT * FROM leden_gegevens WHERE id = '".$list4->auteur."'";
$query6 = mysql_query($select6)or die(mysql_error());
$list6 = mysql_fetch_object($query6);
$door = $list6->gebruikersnaam;
$door = strip_tags($door);
$door = strtolower($door);
$door = ucwords($door);
if ($list6->status == "Beheerder")
$gebruikersnaam = "$door";
elseif ($list6->status == "SuperModerator")
$gebruikersnaam = "$door";
elseif ($list6->status == "Moderator")
$gebruikersnaam = "$door";
elseif ($list6->status == "Verbannen")
$gebruikersnaam = "$door";
else
$gebruikersnaam = $door;
$laatste = "Door <a href=\"content.php?pagina=leden/profiel&id=".$list6->id."\">".$gebruikersnaam."</a><br />@ ".date("d-m-Y H:i:s", strtotime($list4->datum))."";
}
else
{
if($list5->auteur != 99999999){
$select7 = "SELECT * FROM leden_gegevens WHERE id = '".$list5->auteur."'";
$query7 = mysql_query($select7)or die(mysql_error());
$list7 = mysql_fetch_object($query7);
$door = $list7->gebruikersnaam;
$door = strip_tags($door);
$door = strtolower($door);
$door = ucwords($door);
if ($list7->status == "Beheerder")
$gebruikersnaam = "$door";
elseif ($list7->status == "SuperModerator")
$gebruikersnaam = "$door";
elseif ($list7->status == "Moderator")
$gebruikersnaam = "$door";
elseif ($list7->status == "Verbannen")
$gebruikersnaam = "$door";
else
$gebruikersnaam = $door;
} else {
$gebruikersnaam = $list5->naam_anoniem;
}
$laatste = "Door <a href=\"content.php?pagina=leden/profiel&id=".$list7->id."\">".$gebruikersnaam."</a><br />@ ".date("d-m-Y H:i:s", strtotime($list5->datum))."";
}
$select8 = mysql_query("SELECT COUNT(*) FROM forum_reacties,forum_onderwerpen WHERE forum_onderwerpen.forum = '".$list2->id."' AND forum_reacties.topicid = forum_onderwerpen.id")or die(mysql_error());
$reacties = mysql_result($select8, 0);
echo "<tr onclick=\"window.location.href='content.php?pagina=forum/bekijk&id=".$list2->id."'\">";
echo "<td width=\"5%\"><img src=\"afbeeldingen/forum.gif\" alt=\"Forum\"/></td>";
echo "<td width=\"45%\"><a href=\"content.php?pagina=forum/bekijk&id=".$list2->id."\"><b>".htmlspecialchars($list2->naam)."</b></a><br />".htmlspecialchars($list2->omschrijving)."</td>";
echo "<td width=\"10%\">".mysql_num_rows($query3)."</td>";
echo "<td width=\"10%\">".$reacties."</td>";
echo "<td width=\"30%\">".$laatste."</td>";
echo "</tr>";
}
}
echo "</table></div>";
}
}
?>
Link gekopieerd
Ik denk dat het hier vrij duidelijk is wat het probleem is. Kijk maar eens hoeveel queries je uitvoert en dan heb je ze ook nog eens staan binnen een dubbel geneste loop.
Wellicht handig om te bedenken hoe je door eenvoudiger met minder queries op kan lossen ;)
Link gekopieerd