MAX ID - 10 en daar een random artikel uit
femke
21/07/2006 17:26:00Ik wil op mijn voorpagina random 4 van de 10 laatste artikelen tonen, echter ik zit met het probleem dat ik niet weet hoe ik de laatste 10artikelen kan laten selecteren..
ik had het volgende bedacht maar dit werkt niet, wie weet een oplossing
SELECT DISTINCT Artikel, ID FROM Artikelen WHERE Checked='1' AND ID > (MAX(ID)-10) ORDER BY RAND() DESC LIMIT 0,4
ik had het volgende bedacht maar dit werkt niet, wie weet een oplossing
SELECT DISTINCT Artikel, ID FROM Artikelen WHERE Checked='1' AND ID > (MAX(ID)-10) ORDER BY RAND() DESC LIMIT 0,4
PHP hulp
17/11/2024 13:18:19Joren de Wit
21/07/2006 18:06:00$sql = "SELECT DISTINC Artikel, ID FROM Artikelen WHERE Checked='1' ORDER BY ID DESC LIMIT 10";
Zo selecteer je de laatste 10 entries uit je database...
ps. Lees net dat dit niet helemaal aan je vraag beantwoord.
Zo selecteer je de laatste 10 entries uit je database...
ps. Lees net dat dit niet helemaal aan je vraag beantwoord.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
femke
21/07/2006 22:35:00dit beantwoord inderdaad niet mijn vraag. Ik wil random 4 artikelen laten genereren uit de laatste 10
Joren de Wit
21/07/2006 22:58:00Ja er zijn met php natuurlijk genoeg manieren waarop je dat voor elkaar kunt krijgen...
Even snel, maar volgens mij zou het moeten werken...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$aantal = 4; // aantal artikelen
for($i = 0; $i <= 3; $i++)
{
$index[$i] = rand(1,10);
}
$result = mysql_query("SELECT DISTINCT Artikel, ID FROM Artikelen WHERE Checked='1' ORDER BY ID DESC LIMIT 10");
while($row = mysql_fetch_array($result))
{
if(in_array($row['ID'],$index))
{
// Hier wat je met je artikelen wilt doen
}
}
?>
$aantal = 4; // aantal artikelen
for($i = 0; $i <= 3; $i++)
{
$index[$i] = rand(1,10);
}
$result = mysql_query("SELECT DISTINCT Artikel, ID FROM Artikelen WHERE Checked='1' ORDER BY ID DESC LIMIT 10");
while($row = mysql_fetch_array($result))
{
if(in_array($row['ID'],$index))
{
// Hier wat je met je artikelen wilt doen
}
}
?>
Even snel, maar volgens mij zou het moeten werken...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Jan Koehoorn
21/07/2006 23:00:00Ik heb een paar subqueries uitgeprobeerd maar kan zo snel geen goede vinden.
Workaround:
SELECT Artikel, ID
FROM Artikelen
WHERE Checked = '1'
ORDER BY ID DESC
LIMIT 10
Dit geeft je de nieuwste tien artikelen. Tijdens het fetchen zet je die in een array. Die array schud je door elkaar met shuffle($array) en je pakt de eerste vier elementen, in een for loop.
Workaround:
SELECT Artikel, ID
FROM Artikelen
WHERE Checked = '1'
ORDER BY ID DESC
LIMIT 10
Dit geeft je de nieuwste tien artikelen. Tijdens het fetchen zet je die in een array. Die array schud je door elkaar met shuffle($array) en je pakt de eerste vier elementen, in een for loop.