Avatar billede chrede Nybegynder
11. januar 2004 - 22:07 Der er 28 kommentarer og
1 løsning

Hjælp til SQL-sætning

Hej Eksperter!

jeg har følgende sql-sætning:
SELECT * FROM billeder WHERE galleri=1

Denne sql returnere et antal poster, men jeg skal have fat i en ganske bestemt post. Jeg skal have fat i en post ud fra dens placering i dette udtræk. f.eks post nr 4.

Alle posterne har selvfølgelig et ID, men det er ikke posten med ID nr. 4, jeg skal bruge det er den der er nr.4 i mængden af mine udtræk.

Hvis dette ikke kan lade sig gøre, vil jeg gerne spørge om der er nogen der ved hvordan man får fat i den næste el. forrige post, udfra en givent post.

f.eks:
SELECT * FROM billede WHERE id=8
hvad skal jeg skrive hvis jeg vil have den til at give mig posten lige inden 8 (antag at du ikke ved om 7 eksistere)?
Avatar billede Slettet bruger
11. januar 2004 - 22:08 #1
Skal du bruge det i asp eller noget vb eller kun i sql?
Avatar billede chrede Nybegynder
11. januar 2004 - 22:09 #2
asp
Avatar billede ellebaek Nybegynder
11. januar 2004 - 22:10 #3
"select top 1 * from billeder where id < 8"
Avatar billede erikjacobsen Ekspert
11. januar 2004 - 22:10 #4
select * from billeder where galleri>=1 order by galleri limit 4,1

(eller 3 - lidt afhængig af hvad du mener)
Avatar billede erikjacobsen Ekspert
11. januar 2004 - 22:11 #5
Nåh, ok, min løsning dur kun i MySql, men giver dig præcis den du vil have
Avatar billede Slettet bruger
11. januar 2004 - 22:11 #6
Ellers kan du løbe alle dem du får ud i er recordset igennem med rs.MoveNext til du får hvad du har brug for.
Avatar billede ellebaek Nybegynder
11. januar 2004 - 22:13 #7
du kan så når du skal bruge nr. 4 bruge:

"select top 4 * from billeder where galleri=1 order by id desc"
Men det giver dig de 4 med det højeste id. så kan du så benytte rs.move(3) for at komme til nr. 4...
Avatar billede chrede Nybegynder
11. januar 2004 - 22:18 #8
mysql kender vist ikke den der "top" jeg får bare fejl når jeg bruger den
Avatar billede ellebaek Nybegynder
11. januar 2004 - 22:19 #9
ok...

Troede du brugte access..
så brug eriks i stedet.
Avatar billede erikjacobsen Ekspert
11. januar 2004 - 22:20 #10
Mysql? Så brug min!
Avatar billede chrede Nybegynder
11. januar 2004 - 22:22 #11
yeps.. jeg skal i virkligheden bruge det til mit billede galleri... i forbindelse med næste og forrige billede "knapper" ... bare hvis i har nogle forslag til hvordan det kunne gøres smartere
Avatar billede chrede Nybegynder
11. januar 2004 - 22:23 #12
jeg vil ikke bruge ID'en +1/-1 ... da jeg kan komme ud for "huller" imellem ID numrene, hvis jeg f.eks. sletter et billede
Avatar billede ellebaek Nybegynder
11. januar 2004 - 22:23 #13
request.querystring eller request.form og så nogle hidden forms der indeholder tidligere ider eller querystrings der gør det
Avatar billede erikjacobsen Ekspert
11. januar 2004 - 22:24 #14
Det sidste du spørger om - det aktuelle galleri hedder 88 i mit eksempel.
Den forrige (hvis den findes):

select * from billeder where galleri<88 order by galleri desc limit 0,1

Den næste

select * from billeder where galleri>88 order by galleri asc limit 0,1
Avatar billede avlund Nybegynder
11. januar 2004 - 22:31 #15
Top virker kun i Access og SQL Server. Limit skal du bruge i MySQL, den er også mere fleksibel.
Avatar billede chrede Nybegynder
11. januar 2004 - 23:15 #16
Nu er den næsten ved at være det :-)

Jeg skal bare lige høre.... hvordan laver jeg en IF sætning, får at finde ud af om jeg er på den sidste eller første?

jeg regner med at jeg bare kan spørge på om RS er tom? ..men hvordan spørg jeg den om det?
Avatar billede erikjacobsen Ekspert
11. januar 2004 - 23:17 #17
if rs.eof then
  'no bananas today
Avatar billede chrede Nybegynder
11. januar 2004 - 23:25 #18
en hurtig en mere... hvis jeg bruger et popup vindue til at vise mine billeder i, bliver mine sessions variabler så ført med automatisk? og hvordan laver man popup, skal det gøres med javascript, eller hvad?
Avatar billede chrede Nybegynder
11. januar 2004 - 23:27 #19
erikjacobsen >smid et svar....
Avatar billede erikjacobsen Ekspert
11. januar 2004 - 23:28 #20
Tak ;) Jeg samler ikke på point.
Avatar billede chrede Nybegynder
11. januar 2004 - 23:29 #21
tilføjelse til forrige:
når man klikker på en thumb, vil jeg gerne have billedet i et nyt vindue... men uden browser knapper osv.....
Avatar billede erikjacobsen Ekspert
11. januar 2004 - 23:29 #22
popups med javascript, og dine sessions følger med
Avatar billede chrede Nybegynder
11. januar 2004 - 23:29 #23
jamen... du svarede jo på mit spørgsmål...
Avatar billede chrede Nybegynder
11. januar 2004 - 23:30 #24
har du et eksempel på et sådan javascript?
Avatar billede ellebaek Nybegynder
11. januar 2004 - 23:30 #25
<a href="#" onClick="window.open('http://www.eksperten', 'nytVindue', 'width=500,height=500'); return false;">Nyt vindue</a>
Avatar billede chrede Nybegynder
11. januar 2004 - 23:56 #26
hmmm.. er det muligt at slippe for at køre med fast størrelse?
Kan vinduet ikke tilpasse sig billedets størrelse?
Avatar billede chrede Nybegynder
11. januar 2004 - 23:57 #27
erik & ellebaek , jeg vil gerne se nogle svar fra jer...
Avatar billede erikjacobsen Ekspert
11. januar 2004 - 23:59 #28
Tak, ellers tak, jeg skal ikke have point.
Avatar billede ellebaek Nybegynder
12. januar 2004 - 16:16 #29
Men du kan da godt få et svar fra mig...
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
Computerworld tilbyder specialiserede kurser i database-management

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