kgb Skrevet 27. desember 2004 Del Skrevet 27. desember 2004 finnes det en funksjon for å ta query på neste eller forrige rad i mysql? Jeg har en oversikt med info om personer, så vil jeg lage neste og forrige-knapper, sortert alfabetisk og etter sted personen bor. Altså lurer jeg på om det er en mulighet for å finne ut nummeret på raden jeg har tatt query av, slik at jeg kanskje kan bruke limit ellerno til forrige/neste etter at jeg har sortert, ettersom jeg hele tiden legger inn nye personer. Noen som kan hjelpe? Si ifra hvis jeg forklarte dårlig. På forhånd takk. Lenke til kommentar
Loomy Skrevet 27. desember 2004 Del Skrevet 27. desember 2004 Har hver rad et id-nummer eller noe i den dur? Lenke til kommentar
kilogram Skrevet 27. desember 2004 Del Skrevet 27. desember 2004 Du kan jo bruke primær-nøkkel-feltet til den raden du har, og leite etter rader som har større primær-nøkkel, sortert etter primær-nøklene, med LIMIT 0,1. Som oftest er det jo vanligere å sortere det alfabetisk (etter navn på personane), og då må dette gjerast på ein litt annan måte. Då må du leite etter rader der navnet "er større enn" navnet du har (kjem leksikografisk seinare), sortert etter navnet, med LIMIT 0,1. Om du har strukturen på databasen, så vil det vere lettare å forklare dette. Lenke til kommentar
kgb Skrevet 27. desember 2004 Forfatter Del Skrevet 27. desember 2004 Jeg vil ha det alfabetisk ja, derfor har vel ikke primærnøkkel noen hensikt. strukturen er slik: `sted` varchar(128) NOT NULL default '', `navn` varchar(128) NOT NULL default '', `info` mediumtext NOT NULL, `bilde` varchar(128) NOT NULL default '', `url` varchar(128) NOT NULL default '' Personene skal bli listet opp etter sted, og så alfabetisk. Det har jeg klart greit, men problemet mitt er altså neste/forrige. Vil gjerne ha en bedre forklaring på det du nevnte. Lenke til kommentar
kilogram Skrevet 27. desember 2004 Del Skrevet 27. desember 2004 Okei, for å få all info om "neste" person alfabetisk, så trur eg følgande SQL skal gjere trikset; For å få neste; SELECT * FROM tabell WHERE sted > 'stedetviserpå' ORDER BY sted, navn LIMIT 0, 1 For å få forrige; SELECT * FROM tabell WHERE sted < 'stedetviserpå' ORDER BY sted DESC, navn DESC LIMIT 0,1 Hadde vore kjekt å vete om dette fungerer... Er litt usikker på den siste der... Forresten så er det ofte ein god idè å ha ein primærnøkkel, t.d. kalt 'id'. Uten ein primærnøkkel vil det vere svært vanskelig å linke tabellar mot kvarandre, og å gjere meir avanserte spørringar. Lenke til kommentar
kgb Skrevet 27. desember 2004 Forfatter Del Skrevet 27. desember 2004 Tusen takk! dette var akkurat det jeg trengte. Funka helt perfekt Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå