webForumDet fria alternativet

Skriv ut 1 kategori, sedan de i den osv.

ASP

6 svar · 185 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Hej Jag har en nyhets databas där jag har 2 tabeller en med månader, namn o nr. tex januari = 1 osv.

Sen har jag en nyhetstabell där det finns ett fält som heter manad, som kan ha nr. 1-12.

Nu vill jag skriva ut alla nyheter på skärmen men under respektive månad, så här

JANUARI
(nyhet2) - Det är kul med snö
(nyhet5) - Mamma kom hem från Göteborg

FEBRUARI
(nyhet1) - Jag fyllde år
(nyhet3) - Jag köpte glass
(nyhet4) - Jag hoppade i ett hopptorn

OSV OSV TILLS SISSTA NYHETEN I DEN MÅNAD SOM HAR BLIVIT HÖGST.

Hur fasen gör man det..

tacksam för all hjälp

------------------
1 Man, 1 Million dead, The odds are just about even - Ash

Medlem sedan feb. 200144 inlägg
#2

Så här kanske:

Hämta uppgifterna från tabellen manad. Sedan:

do until manad.eof
skriv ut månadsinfo
select * from nyheter where manadsnr=nyhetsnr
do until nyheter.eof
skriv ut nyhetsinfo
nyheter.movenext
loop
nyheter.close
manad.movenext
loop
manad.close

Lite dålig kod kanske men du fattar?

Medlem sedan mars 20002 836 inlägg
#3

kan du beskriva lite bättre hur databasen ser ut, tex:

TABELL 1
========
FALT1
FALT2

TABELL2
=======
FALT1
FALT2

cya,

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

Medlem sedan dec. 19996 522 inlägg
#4

oki här kommer mina 2 tabeller

month
-month_id
-month_name

news
-news_id (primärnyckel)
-news_date (yyyy-mm-dd)
-news_text 
-news_header
-news_month_id (rel till month.month_id)

Jag fyller i nyheter som ligger fram i tiden, tex att jag fyller i nyheter som har mars som månad. Det är en blandad nyhets och "kalender" databas. Jag kanske inte heller har några nyheter alls i tex juni så det måste man ju tänka på också.

Han ska först skriva ut den månad som är närmast om vi är i februari vill ja först skriva ut

Februari
-lista alla nyheter som har 2 som month_id (det är nr. 1-12)

Mars
-lista alla nyheter som har 3 som month_id

osv osv.

------------------
1 Man, 1 Million dead, The odds are just about even - Ash

Medlem sedan mars 20002 836 inlägg
#5

en lite fråga till

varför har du 2 tabeller??
[r]
Det går att få ut listningen med endast news tabellen, ex:

<%
Dim dteDateNow
Dim strSQL
Dim objConn
Dim objRS
Dim intNewsID
Dim dteDate
Dim strHeader
Dim dteLastDate

dteDateNow = Date()

strSQL = "SELECT news_id, news_date, news_header " & _
		"FROM news " & _
		"WHERE news_date >= #" & dteDateNow & "# " & _
		"ORDER BY news_date ASC"		

	Set objConn = Server.CreateObject("ADODB.Connection")
		objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
					"Data Source=c:\dbaser\wfmonth.mdb"
		
		Set objRS = objConn.Execute(strSQL)
		
			If objRS.EOF Then
				Response.Write "Finns inget att visa."
			Else
				Do Until objRS.EOF
					intNewsID = objRS(0)
					dteDate = objRS(1)
					strHeader = objRS(2)
					
					If dteDate <> dteLastDate Then
						Response.Write "<B>" & MonthName(Month(dteDate)) & "</B><BR>"
					End If

					Response.Write "&nbsp;&nbsp;" & strHeader & "<BR>"
					
					dteLastDate = dteDate
					
					objRS.MoveNext
				Loop
			End If					
		
		Set objRS = Nothing
			
		objConn.Close
	Set objConn = nothing
	
%>

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

[Redigerat av PatrikB den 21 feb 2001]

Medlem sedan dec. 19996 522 inlägg
#6

ehh erka = hjärnsläpp på tjeckiska...hmmmm, now i see the light TACK !

------------------
1 Man, 1 Million dead, The odds are just about even - Ash

Medlem sedan feb. 20001 590 inlägg
#7

Lite OT men...

I fall som dessa då man bara listar ut ett antal värden i någon typ av tabellform, och där man inte behöver skapa länkar för varje "rad" så är det ett ypperligt sätt att använda GetRows()

Detta är det prestandamässigt snabbaste vägen, eftersom man plockar ut datan från databasen med ett mycket mindre antal hits.

Läs gärna mer på: www.learnasp.com/learn/whygetrows.asp

Där det förklaras ytterligare.

(ofta listar man datan, och på något sätt skapa länkar dynamiskt, och då är det svårt att lösa med hjälp av GetRows()
)
/T

------------------
"Den som väntar på någon som gått behöver inte vänta längre..."

255 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)