29. juli 2005 - 20:02Der er
12 kommentarer og 1 løsning
efter 15 indlæg springer rækkefølgen rundt?
Hej.
Jeg er ny i asp, og ny her, så bær over med mig hvis jeg ikke forstår tingene ved første øjekast eller poster forkert :-)
Jeg har denne kode som jeg skal bruge til en gæstebog, men ved besked nr 16 i gæstebogen springer rækkefølgen rundt fra at være 16,15,14,13,12,..... til at være 9,2,3,4,5,6,8,16,10,11,12,13,14,15,7 hvilket er meget underligt synes jeg... Nogen der har en forklaring? Her er koden jeg bruger:
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Nej tallene er ment som ID numrene, altså den bytter rundt på rækkefølgen af indlægne på nyhedssiden. Se her: http://www.liselarsen.dk/aksel/nyhed.asp Prøv at skrive 16 eller hvad du nu vil som nyhed, når du tilføjer den vil rækkefølgen på de forrige bytte rundt til den jeg har beskrevet. ( jeg har indtastet nyhederne selv, og kaldt dem numre for at finde ud af hvilken rækkefølge den byttede til)
Efter indlæg nr 16 holder rækkefølgen startende med nr 9 (ved ikke hvor længe) men de nye beskeder som skulle komme ind i toppen kommer ind midt i rækkefølgen. Jeg synes det er meget ulogisk :-D
7/30/2005 på de indlæg du har lavet. altså mm/dd/yyyy. Kan jeg ændre koden til at lave rækkefølgen efter ID nummer, startende med det højeste? Ville det måske ikke løse problemet?
En database er optimeret med hastighed for øje, Når man udtrækker data via et SQL-kald, så betyder dette at man ikke kan være sikker på at rækkerne kommer ud i sammerækkefølge som de ser ud til at ligge i tabellen. For det er sikkert hurtigere at gøre det på en anden måde (for databaseprogrammet).
Det er sikkert det du er ude for her. Med dit kald:
SELECT * FROM News ORDER BY oprettet DESC
- er du sikret at alle poster bliver sorteret på dato. Du kan f.eks. se at de poster jeg har oprettet her i dag (30/7/2005) ikke er blandet sammen med dem du selv oprettede i går (29/7/2005). Derimod har du ingen garanti for at poster som har *samme* datostempel kommer i den samme rækkefølge de er blevet lagt ind i – og det gør de jo rent faktisk heller ikke.
Hvorfor det så lige begynder at gå galt ved 16 poster skyldes mere den måde databasen er sat sammen på internt end noget andet.
En løsning på dit problem kunne være at du ikke kun loggede datoen for hvornår en nyhed var oprettet, men også tidspunktet. Så ville
... ORDER BY oprettet DESC
- fungere som du forventede det.
En anden løsning kunne være at sortere efter id som du selv siger. Dette ville dog kræve at dit id var et felt af typen autoincrement sådan at du er sikker på at det altid stiger med nye artikler.
Som sagt er dette en mulig løsning, men efter min menig så er det en mere korrekt løsning at sortere efter dato+tidspunkt.
Det må klart være der fejlen ligger, fedt. Man kan bare se sig blank på sådan et problem, Tak for hjælpen. Mit ID er autonumber, og jeg har lige prøvet at sortere efter det, og det virker tilsyneladende uden problemer. Ellers ved jeg hvor jeg skal rette. Igen Tak for hjælpen, hvordan får du dine fortjente point.
Det lykkedes ikke helt i første omgang - husk at du skal markere navnet på dem, som skal have point, før at du kan acceptere svaret.
Synes godt om
Ny brugerNybegynder
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.