Avatar billede ranx Nybegynder
19. februar 2007 - 13:25 Der er 11 kommentarer

CMS Nyhedsystem - læse seneste rækker

Jeg har et lille problem med at få lavet en smart måde at læse mine 5 nyeste nyheder(rækker i nyheds tabel) når jeg også har en slet funktion.

Hver nyhed har en række i tabellen med tekst, billede og id.

Hvordan laver jeg sådan at jeg kan læse de 5 seneste indlæg? med forbehold for at jeg kan slette hvilken som helst række.

På en eller anden måde skal jeg have læst de 5 seneste, måske noget med timestamps... hmm... har ikke lige regnet den ud desværre :(

Nogen gode bud?

På forhånd tak.
Avatar billede gertp Nybegynder
19. februar 2007 - 13:27 #1
select limit 5 * from din_database order by id desc
Avatar billede gertp Nybegynder
19. februar 2007 - 13:33 #2
hmm...er vist sådan i stedet:
select * from din_database limit 5
Avatar billede showsource Seniormester
19. februar 2007 - 13:46 #3
id er vel auotincrement?

SELECT * FROM tabel LIMIT 0, 5 ORDER BY id DESC
Avatar billede showsource Seniormester
19. februar 2007 - 13:47 #4
Nåh,
SELECT * FROM tabel ORDER BY id DESC LIMIT 0, 5

ved ik' lige om der er forskel
Avatar billede ranx Nybegynder
19. februar 2007 - 13:50 #5
Ok, med den burde jeg få de 5 seneste rækker i min tabel.

Da jeg har en SQL(5 ialt) pr nyhed på forsiden hvordan udpeger jeg så f.eks. nyhed nr 3 ? ID'et kan jeg jo ikke bruge da jeg kan have slettet en nyhed.
Avatar billede ranx Nybegynder
19. februar 2007 - 13:51 #6
Ja, ID'et er autoincrement så den er ikke altid i lige rækkefølge når jeg har slettet en nyhed.

Så rækker af ID kan f.eks. være 2,5,7,9,11
Avatar billede ranx Nybegynder
19. februar 2007 - 13:55 #7
Jeg har forsøgt med PHP variablen der kan se hvor mange rækker der er i en tabel.

Hvor jeg f.eks. har sagt.

Nyhed1: select * from min_tabel where id = numOfRowsInTabel
Nyhed2: select * from min_tabel where id = numOfRowsInTabel-1
Nyhed3: select * from min_tabel where id = numOfRowsInTabel-2
Nyhed4: select * from min_tabel where id = numOfRowsInTabel-3
Nyhed5: select * from min_tabel where id = numOfRowsInTabel-4

Men det duer jo ikke når mine ider ikke kommer i en lige rækkefølge.
Avatar billede gertp Nybegynder
19. februar 2007 - 13:55 #8
men hvorfor har du 1 sql for hver nyhed? ... og uanset om der er 'huller' i id'erne tager den de 5 højeste
Avatar billede showsource Seniormester
19. februar 2007 - 14:06 #9
$sql = mysql_query("SELECT * FROM tabel ORDER BY id DESC LIMIT 0, 5") or die (mysql_error());

while($row = mysql_fetch_array($sql)) {
echo $row["id"] ." - ". $row["nyhed"] ."<br />\r\n";
}
Avatar billede ranx Nybegynder
19. februar 2007 - 14:51 #10
Har brugt Recordset's fra Dreamweaver til at lave nyhederne, men det er måske ikke den smarteste måde at lave 5 forskellige SQLs.

Tak for budene.
Avatar billede gertp Nybegynder
26. marts 2007 - 08:23 #11
lukketid?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester