Top aantal posters
Ik heb 2 vraagjes:
1.
Ik ben bezig met een forum, en daarbij wil ik laten zien wie de 5 mensen zijn die het meest hebben gepost.
Hoe doe ik dit? Ik gebruik wel mysql.
Ik wil dus dat je 5 mensen ziet, met de meeste posts gesorteerd op aantal
Hoe moet dit??
2.
Hoe kan ik zoeken in een database?
Hoe moet dit??
Alvast bedankt :)!
Hier komt een voorbeeldje zoals je het kan gebruiken:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$query = "SELECT * FROM $table WHERE naam LIKE '%". $_POST['zoekquery'] ."%' ";
$result = mysql_query($query);
?>
$query = "SELECT * FROM $table WHERE naam LIKE '%". $_POST['zoekquery'] ."%' ";
$result = mysql_query($query);
?>
bij where vul je het veld in waarin gezocht en bij like je zoekwoord die bijvoorbeeld via een formuliertje word doorgegeven. De % tekens er voor en/of er achter bepalen hoe iets word gevonden:
boe% vind wel boeiend maar niet kaboem of taboe
%boe vind wel taboe maar niet boeiend of kaboem
%boe% vind alle drie
Quote:
"SELECT poster FROM forumtabel ORDER BY posts DESC LIMIT 0,5"
Edit : vraag 1 dus :)
Edit : vraag 1 dus :)
Maar dat is natuurlijk alleen als je het aantal posts van een gebruiker opslaat. Maar aangezien dat een procesgegegeven is hoor je dat niet op te slaan...
Om het simpel te houden zou ik dat wel doen...
Elwin
[Edit: Typo]
Gewijzigd op 11/06/2004 22:32:00 door Elwin - Fratsloos
Nou, dat was het!
Tnx allemaal!!
Graag gedaan hoor ;)
Waarom ho0r je dat niet op te slaan?
$query = mysql_query("SELECT * FROM ".$target." WHERE titel OR bericht LIKE '%". $searchnormal ."%' ") or die("<br><br><b>Error:</b> ". mysql_error());
Dat hij de zoektekst in 2 velden zoekt?
maar zoiets heb ik :)
$result = mysql_query("SELECT COUNT( 1 ) AS aantal, author AS winnaar
FROM news
GROUP BY author
ORDER BY aantal DESC
LIMIT 5 ");
author is de naam van de poster
Quote:
Is het mogelijk om dit te doen?:
$query = mysql_query("SELECT * FROM ".$target." WHERE titel OR bericht LIKE '%". $searchnormal ."%' ") or die("<br><br><b>Error:</b> ". mysql_error());
Dat hij de zoektekst in 2 velden zoekt?
$query = mysql_query("SELECT * FROM ".$target." WHERE titel OR bericht LIKE '%". $searchnormal ."%' ") or die("<br><br><b>Error:</b> ". mysql_error());
Dat hij de zoektekst in 2 velden zoekt?
Bijna goed, maar zo moet ie:
$query = mysql_query("SELECT * FROM ".$target." WHERE titel LIKE '%". $searchnormal ."%' OR bericht LIKE '%". $searchnormal ."%' ") or die("<br><br><b>Error:</b> ". mysql_error());
Quote:
Waarom ho0r je dat niet op te slaan?
Omdat het een procesgegeven is. Deze hoor je natuurlijk nooit op te slaan, omdat het gegevens zijn die afhankelijk zijn van andere gegevens.
Dat is de eerste stap bij het normaliseren na het inventariseren (ja, ja.. daar ben ik weer met mijn normaliseren.. ;D)
Maar zoals ik al zei: voor het gemak zou ik het zeker doen.
Elwin
Ik voel een normaliseren tutorial aankomen elwin :D
@Elwin: het is toch veel makkelijker en vooral sneller als je het wel opslaat?
Even mezelf quoten.. :D
Quote:
Maar zoals ik al zei: voor het gemak zou ik het zeker doen.
@Bas K.:
Hmm.. goed idee... ik zal er deze week eens aan werken.. :D
Elwin