Hoi,
Ik wil graag met 1 mysql query een forum overzicht ophalen en in een array stoppen.
Je hebt dus:
- forum_categories (forum categorieen)
Deze tabel bevat alle gegevens over een categorie
- forum_categories_moderators (forum moderators)
Deze tabel bevat de velden catID en userID
- users_profiles (gebruikers)
Tot slot bevat deze tabel de gegevens van gebruikers. Doormiddel van ID's kan ik zo de gebruikersnaam ophalen uit die tabel.
Mijn probleem is echter dat ik met smarty werk en alles dus in een array moet gooien. Ik heb al 4 dagen lopen rotzooien met LEFT JOINS en INNER JOINS en kom er niet meer uit. Ik wil graag dat hij een lijst van moderators bij de juiste forum categorie zet. Dat word dus een lus in een lus. Ik wil dit allemaal in 1 array stoppen met 1 mysql query.
Weet iemand wat de beste (of in elk geval alsjeblieft een werkende) methode is om alle data op deze manier in een array te stoppen en te parsen naar smarty?
Met een LEFT JOIN voegt hij bij elke 'moderator' een hele nieuwe rij toe waardoor ik ineens dubbele categorieen te zien krijg. Dat terwijl ik die gegevens juist in een array wil hebben.
Ik zie door de bomen het bos niet meer, bedankt!
<?php
public function get_categories() {
$query = '
SELECT
*,
cats.ID AS ID,
mods.userID AS mID,
moderator.username AS musername,
author.username AS lpauthor,
DATE_FORMAT(cats.lpdatetime, "%d %b %Y om %H:%i") AS lpdatetime
FROM
forum_categories AS cats
LEFT JOIN
forum_categories_moderators AS mods ON cats.ID = mods.catID
LEFT JOIN
users_profiles AS author ON cats.lpauthorID = author.ID
LEFT JOIN
users_profiles AS moderator ON mods.userID = moderator.ID
ORDER BY
cats.listorder';
$result = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
$cats[] = $row;
}
return $cats;
}
?>
Geeft dit:
http://i5.photobucket.com/albums/y199/Ne0que/forumss.jpg
675 views
knop om je tekst aan te passen.