Det kanske inte är det bästa att lägga det i en databastabell, i och med att det bara handlar om ett ända värde (och en ända rad)?
Du skulle kunna använda en textfil i stället och i denna lagra alla variablar som har med din hemsida att göra.
:)
20 svar · 457 visningar · startad av magnusfeldth
Nu har jag lärt mig en del asp, dock har jag inte gjort något med if-satser än, så det skulle jag behöva ha ett exempel på...
Vad jag vill göra är att beroende på om en kolumn i en databas är =1 eller =2 ha två olika bakgrundsfärger i en tabell...
det som skall göras är en nyhetslista och beroende på värdet i kolumnen så blir bakgrundsfärger olika (en mörk en ljus).... typ så här:
<tr>
<td width="5" bgcolor="#9FA989" valign="top">
<h1> </h1>
</td>
<td width="347" valign="top" onMouseOver="this.style.background='#DFE5D1'" onMouseOut="this.style.background='#FFFFFF'">
<b>Så firade vi jul på flykt undan Per Gessle fan clubs mördartrupper.</b><h2>
- Morsning, korsning flyktdagbok</h2>
</td>
</tr>
<tr>
<td width="5" bgcolor="#788068" valign="top">
<h1> </h1>
</td>
<td width="347" valign="top" onMouseOver="this.style.background='#DFE5D1'" onMouseOut="this.style.background='#FFFFFF'">
<h3><b>Skriv under vår protestlista - behåll tetra-packen!</b></h3>
<h2>Det finns inget som är mer manligt än att dricka juice
eller mjölk direkt ur en tetra-pack flaska... Men nu ser vi
hur den populära förpackningen är på väg att försvinna.
Skriv under vår protestlista så att detta stoppas!</h2>
</td>
</tr>
ni kan titta här så förstår ni hur det ungefär kommer att se ut, https://www.vitatubsockor.nu/index4.asp
fråga om ni inte förstår...
Det kanske inte är det bästa att lägga det i en databastabell, i och med att det bara handlar om ett ända värde (och en ända rad)?
Du skulle kunna använda en textfil i stället och i denna lagra alla variablar som har med din hemsida att göra.
:)
??? Quoi???
Jag tror att du missuppfattat mig, databasen skall endast innehålla värdet (kategoriID), IF-satsen skall ligga på sidan...
Här är ett exempel:
Byt ut <TD bgcolor="<%=color%>"> mot databasvariabeln.
color = "#C9C9C9"
Do until RecSet.EOF
if color = "#C9C9C9" then color = "#FFFFFF" else color = "#C9C9C9"
%>
<TABLE border=0 width="500" cellpadding="0" cellspacing="0">
<TR>
<TD bgcolor="<%=color%>">
Titel: <b><%=RecSet("titel")%></b>, <%=RecSet("forfattare")%>,<%=RecSet("saljespris")%><%=RecSet("kopespris")%> kr<BR>
</td>
</tr>
<%RecSet.MoveNext
Loop
%>
så på min sida skulle det bli något i stil med:
<%
if RecSet ("KategoriID") = 1
then color = "#9FA989"
elseif
if RecSet (KategoriID") = 2
then color = "#788068"
endif%>
<td width="3" bgcolor="<%color%>" valign="top">
</td>
<td width="347" valign="top" onMouseOver="this.style.background='#DFE5D1'" onMouseOut="this.style.background='#FFFFFF'">
<b><%RecSet ("Rubrik") %></b>
<h2><%RecSet ("Ingress") %></h2>
</td>
</tr>
<%RecSet.Movenext
loop
%>
nåt sånt kanske? jag kan testa det först på söndag kväll, nämligen...
Berätta hur det gick då. :)
det vet jag ju först på söndag... (läs ovan)... but i will let you guys know!
Menade "då" på söndag ju. :)
Pellefant skrev:
Menade "då" på söndag ju.
Okej, jag uppfattade "då" i betydelsen "kom igen nu då, berätta nu då"... :-)
<%
''Innan loopen har börjat är färgen = ""
Dim Color
Color = ""
''Öppna RecSet här..
''Ungefär; Set RecSet = Connect.Execute("SELECT * FROM tabell")
''Påbörja en loop som skall loopa fram alla nyheter
Do Until RecSet.Eof
''Bestäm färg här:
If RecSet ("KategoriID") = 1 Then
Color = "#9FA989"
ElseIf RecSet ("KategoriID") = 2 Then
Color = "#788068"
End If
Response.Write("<td width=""3"" bgcolor="""&Color&""" valign=""top"">" & vbcrlf)
Response.Write("</td>" & vbcrlf)
Response.Write("<td width=""347"" valign=""top"" onMouseOver=""this.style.background='#DFE5D1'"" onMouseOut=""this.style.background='#FFFFFF'"">" & vbcrlf)
Response.Write("<b>"&RecSet("Rubrik")&"</b>" & vbcrlf)
Response.Write("<h2>"&RecSet("Ingress")&"></h2>" & vbcrlf)
Response.Write("</td>" & vbcrlf)
Response.Write("</tr>")
RecSet.Movenext
Loop
%>
Rättade din kod lite :)
alj skrev:
''Påbörja en loop som skall loopa fram alla nyheter
Do Until RecSet.Eof
Jag skall bara ha de fem senaste nyheterna... då ändrar jag väl bara recsetsatsen till Select top 5 from tabell order by ID... eller? då kan jag väl strunta i Do until-satsen?
alj´s kod funkar... men vad är det för fel på min?
<%
Dim Color
Color = ""
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("tubsockan.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQLsats = "SELECT TOP 5 * FROM sockan ORDER by ID"
RecSet.Open SQLsats, Connect, adOpenStatic, adLockOptimistic
%>
<body>
<table border="0" cellspacing="1" width="360" id="AutoNumber1">
<tr>
<td width="3"></td>
<td width="352"></td>
</tr>
<% Do Until RecSet.EOF
If RecSet ("KategoriID") = 1 Then
Color = "#9FA989"
ElseIf RecSet ("KategoriID") = 2 Then
Color = "#788068"
End If %>
<tr>
<td width="3" bgcolor="<% "color" %>" valign="top">
</td>
<td width="347" valign="top" onMouseOver="this.style.background='#DFE5D1'" onMouseOut="this.style.background='#FFFFFF'">
<b><% RecSet ("Rubrik") %></b>
<h2><% RecSet ("Ingress") %></h2>
</td>
</tr>
<% RecSet.Movenext
loop
Recset.Close
Connect.Close
Set Recset = Nothing
Set Connect = Nothing
%>
På vilket sätt fungerar det inte?
kan tilläggas att jag prövat både med: "color" och endast color...
felmeddelandet när man har med citattecken är
Microsoft VBScript compilation error '800a0400'
Expected statement
/klick/startsidan.asp, line 38
"color"
jag vet att det inte skall vara med citattecken, men hur faen skall det se ut?
Ah.
<td width="3" bgcolor="<% =color %>" valign="top">
Eller då:
<td width="3" bgcolor="<% response.write color %>" valign="top">
på det första kodförslaget blir det felmeddelande som säger att recsetet på rad 48 inte stämmer, det är det om RecSet ingress,
den andra blir bara 500 internt serverfel
what am i doing wrong... or does God just hate me?
felmeddelandet med =color
Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment: 'RecSet'
/klick/startsidan.asp, line 41
Å vilken rad är det? Kanske lika bra att du postar hela koden igen.
hittade felet själv, hade glömt "=" i <% = RecSet ("Rubrik") %>...
tack för hjälpen solbulle, svar på 5 minuter är otroligt bra... detta förtjänar speciellt tack i min sidas credits när den är klar...