Sitter som bäst och kodar på ett bildarkiv men har stött på lite problemas.
Jag kommer lagra sökvägen till bilden i en acess-databas och desan köra en <img src="<%=RecSet("url")%>"> för att skriva ut den.
Dock är det så att det inte skulle bli så bra om jag placerade mina thumbnails i lång trave varken vertikalt eller horisontellt.
Vad jag vill uppnå är helt enkelt att jag skall kunna placera ut mina bilder på följande sätt:
Lättare sagt är gjort för en simpel novis som jag så började jag pilla, och det ordentligt.
Efter att tag av mången scriptfel så vart jag ganska arg och beslöt mig för att göra https://www.gruvsjo.com en visit.
Jag tankade hem gästboksscriptet för att se hur jag skulle göra för att kunna infoga ett visst antal ur databasen varpå om villkoret var under antal i databasen så skrevs det ut en "Nästa sida>>"
Sagt och gjort så strippade jag den koden med ganska stor förhoppning om resultatlösning.
Icke sa nicke, den gamle räven skulle jag inte gått på.
Kanske det nu är något simpelt jag missat, men jag bifogar ändå koden som jag strippat ned för att ni enklare skall kunna se vad som kan göras åt den.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set Recset = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../databas.mdb")
Const perSida = 9
If Request.QueryString("page") = "" then
page = 1
Else
page = Request.QueryString("page")
End If
RecSet.CursorLocation = 3
RecSet.CacheSize = perSida
SQL = "SELECT * From inlagg Order By Datum DESC"
Recset.Open SQL, Conn, 1, 2
RecSet.MoveFirst
RecSet.PageSize = perSida
TotalPages = RecSet.PageCount
RecSet.AbsolutePage = page
Count = 0
Do While Not RecSet.EOF And Count < RecSet.PageSize
%>
För att skriva ut infon ur databasen:
<%=Recset("Namn")%>
& sist men inte minst: nästa och föregående koden
<%
Count = Count + 1
Recset.MoveNext
Loop
Recset.Close
Conn.Close
Set Recset = Nothing
Set Conn = Nothing
End If
%>
<tr>
<td valign="top">
<%
If TotalPages <> 1 Then
If (Int(page)) <> 1 Then
%>
<a href="bilder.asp?page=<%=(Int(page)-1)%>" onfocus="this.blur()"><b>« Bakåt</b></a>
<%Else%>
<%End If%>
<%End If%>
<%
If (Int(page)) <> (Int(TotalPages)) AND Count > 0 Then
%>
<a href="bilder.asp?page=<%=(Int(page)+1)%>" onfocus="this.blur()"><b>Framåt »</b></a>
<%Else%>
<%End If%>
Snälla, kan någon hjälpa mig med detta, för jag håller på att bli riktigt murken nu. :(
Jag får två olika intryck av vad du vill göra, dels dela upp i celler, dels på olika rader?!
Jag svarar på alt ett, eftersom det är enklast!
Principen är följande:
Skriv ut cell efter cell, ha en räknare som när den blir 3 sätts till 0 samtidigt som </tr><tr> skrivs ut.
Sedan börjar proceduren om igen
För att sluta tabellen rätt måste man fylla på de celler som fattas här, dvs
response.write <table><tr>
do until rs.eof
res.w <td>rs(...)</td>
i=i+1
if i=3 then res.w </tr><tr>: i=o
rs.movenext:loop
'ex på avslutning, behövs för i=0 och 1 också
if i=2 then res.w <td> </td></tr>
response.write </table>
Dvs testa med jämnt 3-tal först, sedan 4 resp 5 för att se att koden blir rätt gjord.
Jag vill tacka J.N. för hjälpen en bit på traven.
Tack vare ditt inlägg så fick jag den kunskapen jag behövde för att lista grejjerna ur databasen i olika celler.
Tack vare detta så fick jag till formatteringen på sidan, men att fixa navigering var lättare sagt än gjort.
Dock hittade jag en utmärkt guide om paging på webeye.nu som jag använde mig av!
Resultatet blev till slut såhär:
<%
Set objRs = Server.Createobject("Adodb.Recordset")
strSQL = "Select * from inlagg Order by id"
strConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("../databas.mdb")
intPageId = request.querystring( "pageid" )
if intPageId = "" then intPageId = 1
with objRs
.cursorlocation = 3
.open strSQL, strConString
.pagesize = 9
.absolutepage = intPageId
end with
intPages = cint( objRs.pagecount )
intCurrentPost = 0
%>
<table border="0" width="100%"><tr>
<%
do while not objRs.eof and intCurrentPost < objRs.pagesize
'strContents = strContents &
response.write "<td valign=middle align=center>" & objRS("namn") & "</td>"
if intCurrentPost = 2 Then
response.write "</tr><tr>"
end if
if intCurrentPost = 5 Then
response.write "</tr><tr>"
end if
if intCurrentPost = 8 Then
response.write "</tr></table>"
end if
intCurrentPost = intCurrentPost + 1
objRs.movenext
loop
for i = 1 to objRs.pagecount
strNavigation = strNavigation & " <a href='?pageid=" & i & "'>" & i & "</a>"
next
response.write "<table>" & strContents & "</table>"
response.write "<div align=center><table><tr><td>Sida: " & strNavigation & "</td></tr></table></div>"
%>