webForumDet fria alternativet

Hämta 5 sista poster i db?

ASP

24 svar · 396 visningar · startad av Lazerzubb

Medlem sedan mars 2000542 inlägg
Frågan#1

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.

Medlem sedan mars 20015 287 inlägg
#2

Hm?

Kan du inte ta order by Datum eller missar jag något?

sql = "select top 5 * from tabellen order by Datum desc"
Medlem sedan mars 2000542 inlägg
#3

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)

Medlem sedan nov. 20017 144 inlägg
#4

Är det bara jag som inte förstår?
Inte kan göra en loop?

Medlem sedan mars 2000542 inlägg
#5

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?

Medlem sedan aug. 2002106 inlägg
#6

Det känns som att ett fint exempel skulle vara på sin plats ;)
Jag förstår faktiskt inte vad du är ute efter!

Medlem sedan mars 20015 287 inlägg
#7

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?

Medlem sedan mars 2000542 inlägg
#8

har bara 4 tabeller
(ID)
titel
text
datum
tid

Medlem sedan jan. 20022 440 inlägg
#9

Lazerzubb jag skulle starkt rekommendera dig att spara den informationen i 1 tabell istället.....

Medlem sedan mars 2000542 inlägg
#10

oops, har en tabell, och i den tabellen har jag fyra kolummer.

Medlem sedan mars 20015 287 inlägg
#11

Lazerzubb är du helt säker på att du verkligen menar tabeller och inte fält i en tabell?

Medlem sedan aug. 2002106 inlägg
#12

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

Medlem sedan mars 20015 287 inlägg
#13

Hupp, ok samtidigt.

Medlem sedan aug. 2002106 inlägg
#14

Varför kan du då inte bara sortera på datum?

Medlem sedan mars 2000542 inlägg
#15

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>
Medlem sedan nov. 20017 144 inlägg
#16

Ä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>
Medlem sedan aug. 2002106 inlägg
#17
<%
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
%>
Medlem sedan mars 2000542 inlägg
#18

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?

Medlem sedan aug. 2002106 inlägg
#19

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).

Medlem sedan mars 2000542 inlägg
#20

TainEvil det låter som du är på rätt spå, kan du ge förslag på den långa koden

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)