Hoi allemaal!
Ik ben weer wat aan het php'en geraakt
Veel kan ik er nog niet van enzo, maar het begint toch al aardig op te schieten vind ik. Maar ik zit met een "efficiëntie"-probleempje. Het zit zo:
Ik heb een tabel, userlist, met daarin informatie over de forum-gebruikers. Een record daaruit is het "userid", dat elke gebruiker uniek maakt.
Daarnaas heb ik een tabel, forumposts, met alle postjes die er op het forum geplaatst zijn. Daarin heb ik een record "author". In author zitten dus de userids, uit userlist.
Nu heb ik de volgende query:
In de eerste query ga ik dus alle informatie (titel, author, .. en van die zaken) halen. Maar bij $row["author"] krijg ik dus een getal, die het userid voorstel van de poster. In de tweede query ga ik dat getal "omzetten" (associëren zeg maar) in de echte naam van de poster.
Mijn vraag is: kan dit korter? Want ik heb nu al 4 queries voor het uithalen van alle posten, en dat vind ik wat veel. Namelijk:
· die 2 queries die je boven ziet
· het aantal replies op een thread opvragen
· datum opvragen wanneer het gebruiker thread x bezocht heeft, zodat ik kan zeggen of de thread geupdate is ja of nee.
Zal wel lukken zo?
Ik ben weer wat aan het php'en geraakt
Ik heb een tabel, userlist, met daarin informatie over de forum-gebruikers. Een record daaruit is het "userid", dat elke gebruiker uniek maakt.
Daarnaas heb ik een tabel, forumposts, met alle postjes die er op het forum geplaatst zijn. Daarin heb ik een record "author". In author zitten dus de userids, uit userlist.
Nu heb ik de volgende query:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <? $query = "SELECT * FROM forumposts WHERE replytoid=0 &amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp; forumid='$fid' ORDER by datetime DESC"; $result = mysql_query($query); while ($row = mysql_fetch_array($result)) { $postid = $row["postid"]; $topic = $row["topic"]; $useridnr = $row["author"]; $datetime = $row["datetime"]; $datum = date("j F Y, H:i", strtotime($datetime)); $query4 = "SELECT username FROM userlist WHERE userid='$useridnr'"; $result4 = mysql_query($query4); $row4 = mysql_fetch_row($result4); $author = $row4[0]; etc... } ?> |
In de eerste query ga ik dus alle informatie (titel, author, .. en van die zaken) halen. Maar bij $row["author"] krijg ik dus een getal, die het userid voorstel van de poster. In de tweede query ga ik dat getal "omzetten" (associëren zeg maar) in de echte naam van de poster.
Mijn vraag is: kan dit korter? Want ik heb nu al 4 queries voor het uithalen van alle posten, en dat vind ik wat veel. Namelijk:
· die 2 queries die je boven ziet
· het aantal replies op een thread opvragen
· datum opvragen wanneer het gebruiker thread x bezocht heeft, zodat ik kan zeggen of de thread geupdate is ja of nee.
Zal wel lukken zo?