Avatar billede darkside Nybegynder
16. juni 2003 - 03:23 Der er 12 kommentarer og
1 løsning

Problem med limit

Heysa jeg har sat og rodet med det her lille problem den sidste time nu, og det virker da bare hat, nogen der kan forklare mig hvad jeg gør galt ?

Koden er:  mysql_query("select * from chat ORDER BY ID ASC LIMIT 23")

Det er meningen at den skal hente de 23 nyeste poster fra databasen og vise dem, men den viser kun de første 23 ?`

Fatter intet, håber det er nogen der kan give mig et svar! ;)
Avatar billede ahv Nybegynder
16. juni 2003 - 03:24 #1
select * from chat ORDER BY ID DESC LIMIT 23
Avatar billede ahv Nybegynder
16. juni 2003 - 03:27 #2
ASC = Normal rækkefølge
DESC = Omvendt rækkefølge

Og da de nyeste jo for det højeste id, må de skulle sorteres omvendt altså med DESC og ikke med ASC som du selv hacde prøvet med.
Avatar billede darkside Nybegynder
16. juni 2003 - 03:30 #3
Hm grunden til at jeg gerne ville bruge ASC er for at få listet beskederne fra bunden og op! ;)
Avatar billede ahv Nybegynder
16. juni 2003 - 03:30 #4
Yes, men det skal være DESC for at få de nyeste.
Avatar billede ahv Nybegynder
16. juni 2003 - 03:31 #5
Så vil den nyeste altid komme øverst.
Avatar billede darkside Nybegynder
16. juni 2003 - 03:31 #6
Hm er der andre måder man kan få den til at liste fra bunden og op ?
Avatar billede ahv Nybegynder
16. juni 2003 - 03:32 #7
Vil du ikke have den ældste i bunden og den nyeste øverst?
Avatar billede darkside Nybegynder
16. juni 2003 - 03:34 #8
Nej, vil ha den nyeste i bunden og den ældste øverst.!

har oxo prøvet at sortere dem sådan her, men det er det samme
select * from chat ORDER BY TID ASC LIMIT 23

Der skulle den jo sortere dem efter den nyeste tid, hvis jeg ikke tager helt fejl
Avatar billede ahv Nybegynder
16. juni 2003 - 03:35 #9
2 min, så må vi prøve at lave et lille hack, for der sortere du dem i rigtig rækkefølge, lige 2 min så har et foreslag (2 selects)
Avatar billede darkside Nybegynder
16. juni 2003 - 03:36 #10
Okay venter spændt! ;)
Avatar billede ahv Nybegynder
16. juni 2003 - 03:40 #11
Noget i retningen af (ikke testet)

$limit = 23;
$query = mysql_query("SELECT COUNT(*) as antal FROM chat")
$row = mysql_fetch_array($query);
if ($row['antal'] > $limit) {
    $msglimit = $row['antal'] - $limit;
} else {
    $msglimit = 0;
}
$query = mysql_query("SELECT * FROM chat LIMIT $msglimit, $limit")
while ($row = mysql_fetch_array($query)) {

Hvis ikke det virker ordenligt, så kan jeg kontaktes på ->
MSN: alexander_hv@hotmail.com
ICQ: 82550004

Så kan vi finde ud af det der.
Avatar billede ahv Nybegynder
16. juni 2003 - 03:47 #12
$limit = 23;
$query = mysql_query("SELECT COUNT(*) as antal FROM chat");
$row = mysql_fetch_array($query);
if ($row['antal'] > $limit) {
    $msglimit = $row['antal'] - $limit;
} else {
    $msglimit = 0;
}
$query = mysql_query("SELECT * FROM chat LIMIT $msglimit, $limit");
while ($row = mysql_fetch_array($query)) {
Avatar billede darkside Nybegynder
16. juni 2003 - 03:52 #13
Tusinde tak for hjælpen, dahm den har jeg bøvlet meget med!
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