Hoi,

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 :)!
Op vraag 2: als je mysql gebruikt moet je dit opnemen in een string: like

Hier komt een voorbeeldje zoals je het kan gebruiken:
<?

$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
"SELECT poster FROM forumtabel ORDER BY posts DESC LIMIT 0,5"

Edit : vraag 1 dus :)
"SELECT poster FROM forumtabel ORDER BY posts DESC LIMIT 0,5"

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]
Oh, ik heb dat wel opgeslagen ^_^'...

Nou, dat was het!

Tnx allemaal!!
Graag gedaan hoor ;)
Waarom ho0r je dat niet op te slaan?
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?
Je moet een beetje een klooien
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
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?


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());
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

Reageren