05. august 2004 - 23:40
Der er
22 kommentarer og 1 løsning
Udtræk af eks top 4-10?
Hejsa! Jeg er ved at lave et nyhedsscript - og det skal fungere på den måde, at der på hjemmesiden bliver vist eks. de tre nyeste nyheder (top 3) - og derefter en liste af nyhedsoverskrifter fra eks. den 4. nyeste til den 13. nyeste! Er der en simpel og hurtig måde at lave det på?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
05. august 2004 - 23:41
#1
SELECT top 4 * FROM
05. august 2004 - 23:41
#2
var vidst lidt hurtig der...
05. august 2004 - 23:44
#3
noget med SELECT * FROM tabel WHERE id BETWEEN 4 AND 13 desc ved ikke om man kan det
05. august 2004 - 23:48
#4
Tror jeg ikke helt! F.eks. så har den nyeste nyhed id nummer 821 - næstnyeste 820 - osv... men det ændrer sig jo konstant! Jeg kan vel gå ind og trække det højeste ID, trække tre fra - og så lave en løkke, der kører 10 gange... eksempelvis! Men kan det ikke gøres lettere?
05. august 2004 - 23:57
#5
Men lige for at lave det lidt sjovere - så skal der skal en af kollonerne opfylde et af tre kriterier!
06. august 2004 - 00:05
#6
SELECT * FROM tabel ORDER BY id DESC LIMIT 0,5 Giver dig de 5 nyeste.
06. august 2004 - 00:10
#7
SELECT * FROM tabel ORDER BY id DESC LIMIT 5,5 Giver dig de 5 næste.
06. august 2004 - 00:11
#8
strSQL = "Select * FROM nyheder where (art = 'Fodbold' OR 'Generel') ORDER BY id DESC LIMIT 4,13" Så får jeg følgende fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in ORDER BY clause.
06. august 2004 - 00:15
#9
strSQL = "Select * FROM nyheder where art = 'Fodbold' OR art = 'Generel' ORDER BY id DESC LIMIT 4,8"
06. august 2004 - 00:20
#10
Nope - samme fejl... (art = 'Fodbold' OR 'Generel') <- bruger jeg, hvor jeg henter top tre ud! Og den virker, så det er ikke det!
06. august 2004 - 00:25
#11
Det er mig der sover, du kan ikke bruge limit i access det er en ren MySQL-syntax
06. august 2004 - 00:27
#12
Kan man ikke välge top 13 og så lägge den ind i en loop á la: while (rs.BOF + 3)
06. august 2004 - 00:40
#13
Hvordan??? <% strSQL = "Select TOP 13 * FROM nyheder where (art = 'Fodbold' OR 'Generel' OR 'AaB-Netavis') ORDER BY id DESC" Set rs = Conn.Execute(strSQL) if rs.eof then response.write "<tr><td align=right bgcolor=#FFFFFF><font face=verdana size=-2><b>Ingen nyheder</b></font></td></tr>" else Do While (rs.BOF + 3) Response.write "<font face=Verdana size=-2><b> <img SRC=pics/knap2.gif> " & rs("overskrift") & "</b></font>" rs.MoveNext Loop end if %>
06. august 2004 - 00:41
#14
Ved ikke om det virker, bare et skud i tågen.
06. august 2004 - 00:45
#15
Med ovenstående script viser den alle TOP 13 nyheder... og kommer sluttelig med følgende fejl: error '80020009' Exception occurred. /nyside/Default.asp, line 265 (Linie 265 er den nederste response.write linie)
06. august 2004 - 00:48
#16
do while not rs.eof or (rs.bof + 3)
06. august 2004 - 00:52
#17
Kan ikke tänke klart nu, mine öjne bliver holdt oppe af tändstikker. Men i värste fald kan man lägge den ind i en loop og så lade väre med at udskrive de tre förste. Men kan ikke lige omstille hjernen til ASP lige nu. I'll be back tomorrow ;o)
06. august 2004 - 00:53
#18
Der fremkommer samme fejl! Jeg skulle faktisk til at sige det samme... linserne er smidt, så jeg kan ikke engang se skærmen ;)
06. august 2004 - 01:06
#19
Tja, jeg havde lavet en sql-statement ala denne: Select TOP 13 * FROM nyheder where (art = 'Fodbold' OR 'Generel' OR 'AaB-Netavis') ORDER BY id DESC og så havde jeg lavet sorteringen i ASP'en: i = 0 do while not rs.eof { if(i>3) then { udskriv nyheden på en måde } else { udskriv nyheden på en anden måde } i=i+1 } Mit asp er lidt rustent, men forhåbentlig giver det mening?
06. august 2004 - 09:31
#20
<% strSQL = "Select top 13 * from nyheder where (art = 'Fodbold' OR 'Generel' OR 'AaB-Netavis') order by id desc" Set rs = Conn.Execute(strSQL) i = 0 Do While Not rs.EOF if (i<3) then Kortnyhed = Left(rs("nyhed"), 300) Response.write "<tr><td width=100% BGCOLOR=#DE0029><font face=Verdana color=#FFFFFF size=-2><b> <img SRC=pics/knap2.gif> " & rs("overskrift")& "</b></font></td></tr>" Response.write "<TR><TD><font face=verdana size=-2><i>Af " & rs("skrevetaf") & " den " & rs("dato") & "</i><br>" & Kortnyhed & "...<br><b><a href=visnyhed.asp?id=" & rs("id") & ">Læs mere...</a><b><p></font></td></TR>" else Response.write "<TR><TD><font face=Verdana size=-2><b> <img SRC=pics/knap2.gif> " & rs("overskrift") & "</b></font></TD></TR>" i=i+1 end if rs.MoveNext LOOP %> Så smider den alle 13 nyheder ud efter det første udsagn - og ingen, hvor det bare er overskriften!
06. august 2004 - 09:57
#21
Smed i=i+1 op lige efter If - sætningen, så virker det! Smid et svar - så får du pointene!
06. august 2004 - 10:26
#22
svar ;)
06. august 2004 - 10:33
#23
Og mange tak for hjælpen!!!
Kurser inden for grundlæggende programmering