I min dator kommer alla på en enda lång rad. Har du glömt en extra "<TD>" eller "<TR>"?
---
IF bgColor = "#666666" THEN bgColor = "#FFFFFF" ELSE bgColor = "#666666"
Det är en variant, det finns flera.
12 svar · 277 visningar · startad av Method
Jag vill ha så att varje post radas
ner i en tabell men det ända jag har lyckats få är detta (kolla länken)
http://www.bengtdahlgren.se/test/kontaktpers.asp
jag använder mig av denna koden:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<META NAME="Author" CONTENT="Jonas Olsson">
<META NAME="GENERATOR" CONTENT="Adobe Golive 5.0">
<title></title>
<!-- kollar om användaren använder Microsoft Internet Explorer. -->
<%
Kolla = Request.ServerVariables("HTTP_USER_AGENT")
If Instr(Kolla, "MSIE") then
%>
<style type="text/css">
<!--
input { color: #000000; background-color: #FFFFFF; font-size: 12px; border: 1px #808080 solid; font-family: Verdana}
select { color: #000099; background-color: #FFFFFF; font-size: 10px; border: 1px #000099 solid ; font-family: Verdana}
textarea { color: #000099; background-color: #FFFFFF; font-size: 10px; border: 1px #000099 solid ; font-family: Verdana}
.send { color: #000000; background-color: #D4D0C8; font-size: 10px; border: 1px #808080 solid; font-family: Verdana}
.clear { color: #000000; background-color: #D4D0C8; font-size: 10px; border: 1px #808080 solid; font-family: Verdana}
-->
</style>
<!-- Om den inte använder MSIE så skriver den inte ut koden ovan. -->
<%
else
Response.Write ""
end if
%>
</head>
<body bgcolor="#ffffff" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onload="init() ">
<%
'## -- hämta alla poster --
Function getRecords
Dim m_objConn
Dim m_strConnString
Dim m_strSQL
Dim m_objRS
Dim m_arrRecords
Dim MinCon
m_strConnString = "provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("upload.mdb")
'## -- skapa connection object och öppna upp databasen --
Set m_objConn = Server.CreateObject("ADODB.Connection")
m_objConn.Open m_strConnString
'## -- sql-fråga för att hämta alla poster --
'## -- denna ska du ändra så att den stämmer
'## med det som du vill hämta --
m_strSQL = "SELECT id, fornamn, efternamn, telefon, mobil, [datum] " & _
"FROM ansokan " & _
"ORDER BY [datum] DESC"
'## -- recordset för att hämta alla poster --
Set m_objRS = m_objConn.Execute(m_strSQL)
If Not m_objRS.EOF Then
m_arrRecords = m_objRS.GetRows
getRecords = m_arrRecords
End If
'## -- clean up --
m_objRS.Close
Set m_objRS = Nothing
m_objConn.Close
Set m_objConn = Nothing
End Function
'## -- skriv ut sidnummer navigeringen --
Sub PageNumbers(ByVal HowManyPages, WichPage)
Dim strScriptName
Dim I
'## -- kolla om det finns några sidor --
If HowManyPages = 0 Then
Response.Write "0"
Exit Sub
End If
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut länkar till sid nummer n.
'## Den sida som visas ska ej vara länkad --
For I = 1 To HowManyPages
If CInt(I) <> CInt(WichPage) Then
Response.Write "<a href='" & strScriptName & "?" & "kontor=" & Server.URLEncode((kontor)) & _
"&page=" & I & "'>" & I & "</A> "
Else
Response.Write "" & I & " "
End If
Next
End Sub
'## -- vilken post ska pagingen börja på --
Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
Dim m_intStart
m_intStart = ((PageSize * ViewPage) - PageSize)
getStartID = m_intStart
End Function
'## -- räkna ut hur många sidor som ska visas --
'## -- updated: July 14, 2001
'## -- update by: Patrik Berggren, mrwize@mrwize.nu
'## -------------------------------------------------------------
'##
'## -- vid vissa tillfällen returnerades fel sidantal.
'## Felet/Buggen berodde på avrundningen med CInt()
'## och CLng().
'## -- Avrundningen som jag gjorde:
'##
'## m_intTotalPages = CInt((HowManyRecords / PageSize) + 0.5)
'##
'## vart i vissa fall fel och sid antalet vart fler än
'## vad det egentligen skulle vara.
'## Lösningen, hoppas jag, är att kolla hur stor resten
'## blir vid avrundning.
'## Om resten är större än 0 eller mindre än 0.5 så ska en sida
'## läggas till.
'## I annat fall så gäller avrundningen.
'## Har testat flera olika kombinationer med olika records antal
'## och sidstorlekar och ej hittat några buggar.
'## Så nu hoppas jag att denna paging är buggfri *ler*
'## -------------------------------------------------------------
Function countPages(ByVal HowManyRecords, ByVal PageSize)
Dim m_intTotalPages, m_intRest
m_intTotalPages = HowManyRecords / PageSize
If m_intTotalPages < 1 Then
m_intTotalPages = 1
Else
m_intRest = m_intTotalPages - CLng(m_intTotalPages)
If m_intRest > 0 AND m_intRest < 0.5 Then
m_intTotalPages = CLng(m_intTotalPages) + 1
Else
m_intTotalPages = CLng(m_intTotalPages)
End If
End If
'## -- return how many pages --
countPages = m_intTotalPages
End Function
'##***********************************************************************************
Dim arrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intId
Dim intTotalPages
Dim intTotalRecords
Dim strNamn
Dim strEfternamn
Dim strTelefon
Dim strMobil
Dim dteDatum
Dim intCounter
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
'## -- hur många poster ska visas per sida --
intPageSize = 20
'## -- hämta alla records, hämtas med metoden getrows och returneras
'## som en array. --
arrRecords = getRecords
'## -- vilken post är den första --
intStartID = getStartID(intPageSize, intPage)
'## -- printa ut sidan som ska visas
'## alla poster finns i arrayen arrRecords som
'## kommer från funktionen getRecords --
If IsArray(arrRecords) Then
'Response.Write "E ju en array<BR>"
'## -- hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2) + 1
'## -- hur många sidor finns det i recordsetet --
intTotalPages = countPages(intTotalRecords, intPageSize)
'## -- startar tabellen utanför loopen --
Response.Write "<table border=""2"" cellpadding=""0"" cellspacing=""8"" width=""680"">"
'## -- skriv ut sidnavigerings menyn --
Response.Write "<tr>"
Response.Write "<td align=""left"" valign=""top"">ff</td>"
Response.Write "<form name=""menu"">"
Response.Write "<td align=""right"" valign=""bottom"">"
Response.Write "<select name=links onChange=""window.location=menu.links.options[menu.links.selectedIndex].value;"">"
Response.Write "<option>-- Välj kontor --</option>"
Response.Write "<option value=""kontaktpers.asp?Kontor=" & server.urlencode(("Göteborg")) & """>Göteborg</option>"
Response.Write "<option value=""kontaktpers.asp?Kontor=" & server.urlencode(("Härnösand")) & """>Härnösand</option>"
Response.Write "<option value=""kontaktpers.asp?Kontor=" & server.urlencode(("Linköping")) & """>Linköping</option>"
Response.Write "<option value=""kontaktpers.asp?Kontor=" & server.urlencode(("Malmö")) & """>Malmö</option>"
Response.Write "<option value=""kontaktpers.asp?Kontor=" & server.urlencode(("Stockholm")) & """>Stockholm</option>"
Response.Write "</select>"
Response.Write "</td></form><td align=""right"">"
Response.Write "Sida: "
Call PageNumbers(intTotalPages,intPage)
Response.Write "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td colspan=""4""><hr size=""1"" color=""#000099""></td>"
Response.Write "</tr>"
Response.Write "</table>"
Response.Write "<table border=""5"" cellpadding=""0"" cellspacing=""8"" width=""650"">"
Response.Write "<tr>"
Response.Write "<td>Datum</td>"
Response.Write "<td>Namn</td>"
Response.Write "<td>Efternamn</td>"
Response.Write "<td>Mobil</td>"
Response.Write "<td>Telefon</td>"
Response.Write "</tr>"
Response.Write "<tr>"
'## Loopen börjar
For I = intStartID To ((intStartID + intPageSize) -1)
intId = arrRecords(0,I)
strNamn = arrRecords(1,I)
strEfternamn = arrRecords(2,I)
dteDatum = arrRecords(5,I)
strMobil = arrRecords(3,I)
strTelefon = arrRecords(4,I)
Response.Write "<td> " & dteDatum & "</td>"
Response.Write "<td> " & strNamn & "</td>"
Response.Write "<td> " & strEfternamn & "</td>"
Response.Write "<td> " & strMobil & "</td>"
Response.Write "<td> " & strTelefon & "</td>"
If I = UBound(arrRecords, 2) Then Exit For
Next
'## -- stänger tabellen efter loopen --
Response.Write "</tr></table><br>"
'## -- skriv ut sidnavigerings menyn --
Call PrevPage(intPage)
Response.Write" "
Call NextPage(intTotalPages,intPage)
'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME")
Response.Write "<table border=""0"" cellpadding=""0"" cellspacing=""8"" width=""680"">"
'## -- skriv ut en länk till föregående sida --
If CInt(WichPage) > 1 Then
Response.Write "<tr><td align=""left""><a href='" & strScriptName & "?" & "kontor=" & Server.URLEncode((kontor)) & "&page=" & WichPage - 1 & "'><img border=""0"" src=""../../bilder/pilar/left.gif""> Föregående</a></td>"
Else
Response.Write "<td align=""left""></td>"
End If
End Sub
'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut en länk till nästa sida --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<td align=""right""><a href='" & strScriptName & "?" & "kontor=" & Server.URLEncode((kontor)) & "&page=" & WichPage + 1 & "'>Nästa <img border=""0"" src=""../../bilder/pilar/right.gif""></a></td></tr></table>"
Else
Response.Write "<td align=""right""></td></tr></table>"
End If
End Sub
Else
'## -- inga poster fanns i db --
intPage = 0
intTotalRecords = 0
intTotalPages = 0
'## -- skriv ut att inga poster hittades --
Response.Write "<P>Det finns inga kontaktpersoner för detta kontor.</P>"
End If
%>
</body>
</html>
Vill även ha varannan rad grå
Kan nån förklara hur jag skall göra
tack på förhand
MVH
Jonas
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
[Redigerat av Method den 27 aug 2001]
[Redigerat av Method den 27 aug 2001]
I min dator kommer alla på en enda lång rad. Har du glömt en extra "<TD>" eller "<TR>"?
---
IF bgColor = "#666666" THEN bgColor = "#FFFFFF" ELSE bgColor = "#666666"
Det är en variant, det finns flera.
Här är ett annat förslag på hur du färgar tabellen:
if ((oRecordSet.AbsolutePosition) mod 2) = 1 then
response.write "<table><tr><td bgcolor=""#d3e3d8"" border=1>" & oRecordSet("dooh") & "</td></tr></table>"
else
response.write "<table><tr><td bgcolor=""#000000"" border=1>" & oRecordSet("dooh") & "</td></tr></table>"
end if
------------------
**#**EchO
det är det som är problemet att allt hamnar på en lång rad jag sa ju hur jag vill ha det men det funkar inte.
Jag har inte glömt avslutet på tr lr åt sånt
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
Din poster kommer på en rad för du gjore bara en rad...
'## Loopen börjar
For I = intStartID To ((intStartID + intPageSize) -1)
intId = arrRecords(0,I)
strNamn = arrRecords(1,I)
strEfternamn = arrRecords(2,I)
dteDatum = arrRecords(5,I)
strMobil = arrRecords(3,I)
strTelefon = arrRecords(4,I)
Response.Write "<tr><td> " & dteDatum & "</td>"
Response.Write "<td> " & strNamn & "</td>"
Response.Write "<td> " & strEfternamn & "</td>"
Response.Write "<td> " & strMobil & "</td>"
Response.Write "<td> " & strTelefon & "</td></tr>"
If I = UBound(arrRecords, 2) Then Exit For
Next
'## -- stänger tabellen efter loopen --
'Response.Write "</table><br>"
Jag ahr bara lagt in så att du petar in en <tr> först i loopen och en sists. Annars så blir det ju inte ny rad för varje varv.
Det Kan vara en idé att stoppa in en nonebreaking space om rs variablen är tom, annars kan det funka småkass i netscape t ex.
------------------
calling me a motherfucker, saying he's gonna blow me away and blah, blah, blah, blah, blah.
National Blonde Day!
[Redigerat av mrblonde den 27 aug 2001]
Jag e och känner mig så newbie nu va ;)
Tack för hjälpen
vilket slarv fel av mig, så går det när man har semester...
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
Hej igen,
Jag har lite problem med att färga raderna i tabellen.
EchO exempel funkar inte. den säger Object required
Kan nån säga hur man skall göra?
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
[Redigerat av Method den 27 aug 2001]
Hur får jag mellanslag mellan denna
Response.Write "<td> " & strNamn & strEfternamn & "</td>"
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
Response.Write "<td> " & strNamn & " " & strEfternamn & "</td>"
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*
Testa med att skapa ett recorset!
Set oRecordSet = Server.CreateObject("ADODB.Recordset")
Sedan bör det funka!
------------------
**#**EchO
Finns det inte ett lättare sätt att göra det på ? ;)
Jag prova med en if-sats som jag har kört på andra sidor me det funka inte
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
Testa denna:
'## Loopen börjar
For I = intStartID To ((intStartID + intPageSize) -1)
'## -- bgcolor --
If I mod 2 = 0 Then
varBgColor = "#FFFFFF"
Else
varBgColor = "#FAFAFA"
End If
'## -- end bgcolor --
intId = arrRecords(0,I)
strNamn = arrRecords(1,I)
strEfternamn = arrRecords(2,I)
dteDatum = arrRecords(5,I)
strMobil = arrRecords(3,I)
strTelefon = arrRecords(4,I)
Response.Write "<td bgcolor=""" & varBgColor & """> " & dteDatum & "</td>"
Response.Write "<td bgcolor=""" & varBgColor & """> " & strNamn & "</td>"
Response.Write "<td bgcolor=""" & varBgColor & """> " & strEfternamn & "</td>"
Response.Write "<td bgcolor=""" & varBgColor & """> " & strMobil & "</td>"
Response.Write "<td bgcolor=""" & varBgColor & """> " & strTelefon & "</td>"
If I = UBound(arrRecords, 2) Then Exit For
Next
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*
TACK SÅ HEMSKT MYCKET. :) :) :)
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd