Hm?
Kan du inte ta order by Datum eller missar jag något?
sql = "select top 5 * from tabellen order by Datum desc"
24 svar · 396 visningar · startad av Lazerzubb
Jag ska göra ett nyhetsystem, men kan inte använda SQL Top 5
För att tabellerna för de presenteras inte de samma, jag har
har
Titel
Text
Datum
Tid
I databasen (access)
Hur gör jag så att jag hämtar den sista titel, text, datum och tid i databasen, och sedan fortsätter så och presenterar de 5 senast inlagda titel, text, datum och tid.
Tack på förhand.
Hm?
Kan du inte ta order by Datum eller missar jag något?
sql = "select top 5 * from tabellen order by Datum desc"
När jag har använt TOP förut har det ofta set ut så här
SQL = "SELECT TOP 5 * FROM news ORDER BY ID DESC"
set rs=Connect.Execute(SQL)
if not rs.eof then
do until rs.eof
%>
<FONT FACE="VERDANA" SIze="1"><%=rs("whatever")%><br><BR></FONT>
<%rs.movenext
loop
%><%
end if
rs.close
set rs=Nothing
Connect.close
set connect=nothing
%>
Då presenterars de senaste 5 värdena under varanda, allt är lika, men nu har jag olika tabeller och vill kunna stoppa in värdena in specific tabeller, eftersom jag inte kan göra LOOP (eller kan jag det)?
Ska jag bara ta bort loop för att det ska fungera?
Säg att du har något liknande:
<table width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="35%"><%=rs("titel")%></td>
<td width="35%"><%=rs("titel")%>td>
<td width="30%"><%=rs("titel")%>td>
</tr>
</table>
Men även om det är samma 3 Titlar, så är har de annorlunda värden, jag vill att det ska presentera 3 olika titlar (senaste högst upp)
Är det bara jag som inte förstår?
Inte kan göra en loop?
antagligen inte :D
Tänk dig att jag ska presentera de 5 senaste inläggen, kan jag använda <%=rs("titel")%> 5 gånger på en sida, och 5 olika titlar presenteras pågrund av SQL frågan?
Det känns som att ett fint exempel skulle vara på sin plats ;)
Jag förstår faktiskt inte vad du är ute efter!
Ok, det ärnog jag som inte fattar svenskan ;) Du ska alltså plocka de fem senaste från fem olika tabeller.
Följdfråga: Varför fem olika tabeller?
har bara 4 tabeller
(ID)
titel
text
datum
tid
Lazerzubb jag skulle starkt rekommendera dig att spara den informationen i 1 tabell istället.....
oops, har en tabell, och i den tabellen har jag fyra kolummer.
Lazerzubb är du helt säker på att du verkligen menar tabeller och inte fält i en tabell?
Ska det alltså bli totalt fem poster ur fyra olika tabeller, dvs under vissa lägen så kan alla fem poster komma ur en och samma tabell? Eller ska det vara de fem senaste ur samtliga fyra tabeller, alltså totalt 20 poster?
Ursäkta om jag verkar korkad... :q
Hupp, ok samtidigt.
Varför kan du då inte bara sortera på datum?
Exempel kod: vad ska jag använda för ASP kod för att presentera de 2 senaste kolumninläggen för titel och text.
p.s jag måste va den sämsta någonsin på att förklara/asp :D
<table cellspacing=0 cellpadding=0 width="100%"
border=0>
<td><b><font color=#7D7D7D>[B]<%=rs("titel")%>[/B]</font></b></td>
</tr>
</tbody>
</table>
<br>
<table cellspacing=0 cellpadding=0 width="95%"
align=center border=0>
<tbody>
<tr>
<td><font color=#7D7D7D>[b]<%=rs("text")%>[/B]<br>
<br>
| Source: <font color=#666666>Various</font>
| </font></td>
</tr>
</tbody>
</table>
<br>
<table cellspacing=0 cellpadding=0 width="100%"
border=0>
<tbody>
<tr>
<td width=10><img height=11 hspace=5
src="cube/gold.gif"
width=15 vspace=1></td>
<td><b><font color=#7D7D7D>[B]<%=rs("titel")%>[/B]</font></b></td>
</tr>
</tbody>
</table>
<br>
<table cellspacing=0 cellpadding=0 width="95%"
align=center border=0>
<tbody>
<tr>
<td><font color=#7D7D7D>[B]<%=rs("text")%>[/B]<br>
<br>
<font color=#666666></font>
| </font></td>
</tr>
</tbody>
Är det så här du menar?:
<%
sql = "select top 2 * from tabellen order by Datum desc"
set rs=Connect.Execute(SQL)
%>
<table cellspacing=0 cellpadding=0 width="100%"
border=0>
<%do while rs.eof%>
<td><b><font color=#7D7D7D><%=rs("titel")%></font></b></td>
</tr>
</tbody>
</table>
<br>
<table cellspacing=0 cellpadding=0 width="95%"
align=center border=0>
<tbody>
<tr>
<td><font color=#7D7D7D><%=rs("text")%><br>
<br>
| Source: <font color=#666666>Various</font>
| </font></td>
</tr>
<%rs.movenext
loop%>
</table>
<%
SQL = "select top 5 * from tabellnamn order by Datum desc"
set rs=Connect.Execute(SQL)
while not rs.eof or rs.bof
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td><%=rs("titel")%></td></tr>
<tr><td><%=rs("text")%></td></tr>
</table>
<%
rs.movenext
wend
rs.close
set rs=Nothing
Connect.close
set connect=nothing
%>
Jesper T, ditt förslag funkar om html'en är den samma, men det är problem, det är inte samma html kod, så jag kan inte loopa igenom.
Säg att jag ville presentera det näst senaste inlägget, bara det, kan jag få en sådan kod, så ska jag nog kunna lösa resten.
tack för hjälpen hittils.
Säg att jag har
5 stycken poster i titel (5 ID)
Om jag vill skriva ut number4, utan att veta att det bara finns 5, vad är det för kod?
Du behöver ju iofs inte loopa, du kan ju bara köra en rs.movenext mellan varje html segment (samt kolla att recordsetet inte är tomt).
TainEvil det låter som du är på rätt spå, kan du ge förslag på den långa koden