webForumDet fria alternativet

Hämta ut databas till tabell i rätt rutor

ASP

14 svar · 404 visningar · startad av jlee

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

Undrar hur jag ska kunna visa nästa poster i nästa ruta osv sen med paging nya sidor när jag fyllt alla 8 rutor?
Bigogar kod för tabellen samt en förklarande bild..svårt att förklara detta.
som det är nu så kommer nästa

<a href="byggda.asp?id=<%=rs("id")%>"><%=projbild(enter(rs("p9")))%><br><br>
          <%=rs("p1")%></a>

på nästa paging sida istället för nästa ruta på samma sida.

 <td width="178" height="20" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"> 
          <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strsQL = "SELECT * FROM byggda ORDER BY ID DESC"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../databas/news.mdb")
rs.Open strsQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 1
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
   ' Response.Write "<p><b>Sida nr: " & intPage & " av " & intPageCount & "</b></p>"
     Do While Not rs.EOF And intRecCount > 0	%>
          <br>
          <a href="byggda.asp?id=<%=rs("id")%>"><%=projbild(enter(rs("p9")))%><br><br>
          <%=rs("p1")%></a>  </font></div></td>
      <td width="178" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"><br>
          <a href="byggda.asp?id=<%=rs("id")%>">  <br>
          </a></a> </font></div></td>
      <td width="178" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"><br></a>
          </font></div></td>
      <td width="197" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"><br></a>
          </font></div></td>
      <td width="187" rowspan="3" valign="top"><div align="center"></div>
        <div align="center"></div>
        <div align="center"></div>
        </div></td>
    </tr>
    <tr> 
      <td width="178" height="96" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"></a></font></div></td>
      <td width="178" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"></a></font></div></td>
      <td width="178" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"></a></font></div></td>
      <td width="197" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"></a></font></div></td>
    </tr>
    <tr> 
      <td width="178" >&nbsp;</td>
      <td width="178" >&nbsp;</td>
      <td width="178" valign="top" ><div align="right"><font size="2" face="Arial, Helvetica, sans-serif"> 
          </font> </div></td>
      <td width="197" valign="top" ><div align="right"><font size="2" face="Arial, Helvetica, sans-serif"><br>
          <%
Response.Write "<p>Sid "
For intNum = 1 To intPageCount
    Response.Write "<a href=byggda_.asp?page=" & intNum & ">" & intNum & "</a> "
Next
'Response.Write "<center>"
'Response.Write "<p>"
If Clng(intPage) > 1 Then
   ' Response.Write "<a href=byggda_.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
Else
 '   Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
  '  Response.Write "<a href=byggda_.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
   ' Response.Write "&gt;&gt;"
End If
%>
          &nbsp;&nbsp; </font></div></td>
    </tr>
  </table>
  <br>
<%
   intRecCount = intRecCount - 1
   rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing 
%></div>
visa.gif
Medlem sedan dec. 2002378 inlägg
#2

Ändrade detta intPage = 1 till intPage = 8 eftersom det är 8 rutor...men resterande 7 poster visas då under tabellen och inte i ruta 2-8..var ska jag mer ändra eller lägga till?

Medlem sedan dec. 2002378 inlägg
#3

Undrar om det beror på att jag har förklarat min fråga otydligt eftersom inga svar dimper in?

Medlem sedan dec. 19996 721 inlägg
#4

Använd denna

http://www.webforum.nu/showthread.php?p=84651#post84651

Byt numcols till 4 och ställen där rs.eof kollas måste även kolla att intRecCount > 0

Medlem sedan dec. 2002378 inlägg
#5

var går det snett?

Ok, vet inte var det går snett? Men det ska kombineras med paging också...hmm svåååårt!

<table width="940" border="0 " cellpadding="10">
    <tr> 
      <td width="178" height="20" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"> 
          <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strsQL = "SELECT * FROM byggda ORDER BY ID DESC"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../databas/news.mdb")
rs.Open strsQL, strDSN, 1

numcols=4
if not rs.eof then
   response.write "<TABLE>"
   do until rs.eof
    intRecCount > 0
      response.write "<TR>"
      for i=1 to numcols
         response.write "<TD>"
         if rs.eof then
            response.write "&nbsp;"
         else
         response.write "<a href="byggda.asp?id=<%=rs("id")%>"><%=projbild(enter(rs("p9")))%><br><br><%=rs("p1")%></a>"
            rs.movenext
         end if
         response.write "</TD>"
      next
      response.write "</TR>"
   loop
   response.write "</TABLE>"
end if
%>
<%
<!--kommenterat bort gamla koden-->
'If Not (rs.BOF Or rs.EOF) Then
 '   rs.PageSize = 8
  '  rs.AbsolutePage = intPage
  '  intRecCount = rs.PageSize
   ' intPageCount = rs.PageCount
   ' Response.Write "<p><b>Sida nr: " & intPage & " av " & intPageCount & "</b></p>"
    ' Do While Not rs.EOF And intRecCount > 0	%>
          <br>
         <a href="byggda.asp?id=<%=rs("id")%>"><%=projbild(enter(rs("p9")))%><br><br>
          <%=rs("p1")%></a>  </font></div></td>
      <td width="178" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"><br>
         <br>
          <br>
          <br>
   </font></div></td>
      <td width="178" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"> 
          </font></div></td>
      <td width="197" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"> 
          <br>
          </font></div></td>
      <td width="187" rowspan="3" valign="top">
<div align="center">       <a href="#"><img src="button.jpg" width="120" height="50" border="0"></a><br>
          <a href="#"><img src="´1button.jpg" width="120" height="50" border="0"></a> 
          <br>
          <a href="#"><img src="2button.jpg" width="124" height="50" border="0"></a> 
          <br>
          <a href="#"><img src="3button.jpg" width="124" height="50" border="0"></a> 
        </div></td>
    </tr>
    <tr> 
      <td width="178" height="96" valign="middle" >&nbsp;</td>
      <td width="178" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"> 
          </font></div></td>
      <td width="178" valign="middle" ><div align="center"><font face="Arial, Helvetica, sans-serif" size="1"> 
          </font></div></td>
      <td width="197" valign="middle" >&nbsp;</td>
    </tr>
    <tr> 
      <td width="178" >&nbsp;</td>
      <td width="178" ><font face="Arial, Helvetica, sans-serif" size="1">
        <%
  ' intRecCount = intRecCount - 1
  'rs.MoveNext
  ' Loop
   	
'End If
'rs.Close
'Set rs = Nothing 
%>
        </font></td>
      <td width="178" valign="top" ><div align="right"><font size="2" face="Arial, Helvetica, sans-serif"> 
          </font> </div></td>
      <td width="197" valign="top" ><div align="right"><font size="2" face="Arial, Helvetica, sans-serif"><br>
          <%
Response.Write "<p>Sid "
For intNum = 1 To intPageCount
    Response.Write "<a href=byggda_.asp?page=" & intNum & ">" & intNum & "</a> "
Next
'Response.Write "<center>"
'Response.Write "<p>"
If Clng(intPage) > 1 Then
   ' Response.Write "<a href=byggda_.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
Else
 '   Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
  '  Response.Write "<a href=byggda_.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
   ' Response.Write "&gt;&gt;"
End If
%>
          &nbsp;&nbsp; </font></div></td>
    </tr>
  </table>
  <br>
</div>
Medlem sedan dec. 19996 721 inlägg
#6

Du är på rätt väg. Stoppa tillbaka själva paging-koden nu (pagesize osv.) och som sagt, "ställen där rs.eof kollas måste även kolla att intRecCount > 0"

Medlem sedan dec. 2002378 inlägg
#7

Där finns fel i sidan och jag hittar inte var det är?
Vet inte om jag har gjort exakt som du sa emission?

<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strsQL = "SELECT * FROM byggda ORDER BY ID DESC"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../databas/news.mdb")
rs.Open strsQL, strDSN, 1

numcols=4
if not rs.eof then
   response.write "<TABLE>"
   do until rs.eof
    intRecCount > 0
      response.write "<TR>"
      for i=1 to numcols
         response.write "<TD>"
         if rs.eof 
		 intRecCount > 0 then
            response.write "&nbsp;"
         else
         response.write "<a href="byggda.asp?id=<%=rs("id")%>"
		 next
		 response.write"<%=projbild(enter(rs("p9")))%> " & " <br><br>" & " <%=rs("p1")%></a>
            rs.movenext
         end if
         response.write "</TD>"
      next
      response.write "</TR>"
   loop
   response.write "</TABLE>"
end if
%>
         <br>
      </div>
</td>
           
<%
   intRecCount = intRecCount - 1
  rs.MoveNext
   Loop
   	
End If
rs.Close
Set rs = Nothing 
%></td>
<%
Response.Write "<p>Sid "
For intNum = 1 To intPageCount
    Response.Write "<a href=byggda_.asp?page=" & intNum & ">" & intNum & "</a> "
Next

If Clng(intPage) > 1 Then

Else

End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
Else
  
End If
%>
Medlem sedan dec. 2002378 inlägg
#8

En sak till förresten...förrutom att jag inte kan lösa ovanstående. Om 2 rader är listade - är det inte risk att det blir 3 rader osv? Vill bara bara ha 2 rader ju.

Medlem sedan dec. 19996 721 inlägg
#9

Uppstädat

<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strsQL = "SELECT * FROM byggda ORDER BY ID DESC"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../databas/news.mdb")
rs.Open strsQL, strDSN, 1
rs.PageSize = 8
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount

numcols=4
if not rs.eof then
   response.write "<TABLE>"
   do until rs.eof or intRecCount = 0
      response.write "<TR>"
      for i=1 to numcols
         response.write "<TD>"
         if rs.eof or intRecCount = 0 then
            response.write "&nbsp;"
         else
            %>
             <a href="byggda.asp?id=<%=rs("id")%>
             <%=projbild(enter(rs("p9")))%> <br><br><%=rs("p1")%></a>
            <%
            intRecCount=intRecCount-1
            rs.movenext
         end if
         response.write "</TD>"
      next
      response.write "</TR>"
   loop
   response.write "</TABLE>"
end if
End If
rs.Close
Set rs = Nothing 
Response.Write "<p>Sid "
For intNum = 1 To intPageCount
    Response.Write "<a href=byggda_.asp?page=" & intNum & ">" & intNum & "</a> "
Next
%>
Medlem sedan dec. 2002378 inlägg
#10

Hmm tog bort en End if...verkade vara en för mycket men nu visas inte alla Id poster och inte 8 st per sida heller. Några poster verkar saknas helt enkelt.

Länkningen funkar inte heller...kan något vara fel i

<a href="byggda.asp?id=<%=rs("id")%>
 <%=projbild(enter(rs("p9")))%> <br><br><%=rs("p1")%></a>

Sidan som visar detta hämtar med:

<% 
if  IsNumeric(Request.QueryString("id")) then
   sql= "SELECT * FROM byggda WHERE id = " & Request.QueryString("id")
else
Fel'felmeddelande om ogiltigt indata
end if

Då står det: Körningsfel i Microsoft VBScript error '800a000d'

Inkompatibla typer: 'Fel'

/elite/visa/byggda/byggda.asp, line 24

på den sidan

Medlem sedan dec. 19996 721 inlägg
#11

Visa den kod du har nu...

"Fel" är inget kommando.

Medlem sedan dec. 2002378 inlägg
#12

Nu visas faktiskt posterna som de ska men länkar funkar inte:

Kod till byggda_.asp

<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strsQL = "SELECT * FROM byggda ORDER BY ID DESC"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../databas/news.mdb")
rs.Open strsQL, strDSN, 1
rs.PageSize = 8
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount

numcols=4
if not rs.eof then
   response.write "<TABLE>"
   do until rs.eof or intRecCount = 0
      response.write "<TR>"
      for i=1 to numcols
         response.write "<TD>"
         if rs.eof or intRecCount = 0 then
            response.write "&nbsp;"
         else
            %>
             <a href="byggda.asp?id=<%=rs("id")%>"><%=projbild(enter(rs("p9")))%><br><br> <%=rs("p1")%></a>
            <%
            intRecCount=intRecCount-1
            rs.movenext
         end if
         response.write "</TD>"
      next
      response.write "</TR>"
   loop
   response.write "</TABLE>"
End if

rs.Close
Set rs = Nothing 
Response.Write "<p>Sid "
For intNum = 1 To intPageCount
    Response.Write "<a href=byggda_.asp?page=" & intNum & ">" & intNum & "</a> "
Next
%>
Text text

och byggda.asp som tar emot efter klick på länk:

        <%
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../databas/news.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN
%>
        <% 
if  IsNumeric(Request.QueryString("id")) then
   sql= "SELECT * FROM byggda WHERE id = CInt(Request.QueryString("id")). 

else
Fel'felmeddelande om ogiltigt indata
end if
Set Rs = Conn.Execute (sql)
%>
        <% Do While Not rs.EOF %>
        <font size="+4" face="Times New Roman, Times, serif" color="#CCCCCC"> <%=rs("p1")%></font>&nbsp;</td>
      <td width="458"><div align="right"></div>
        <div align="right"></div>
        <div align="right"></div>
        <div align="right"><%=minibild(rs("p5"))%>&nbsp;&nbsp;<%=minibild(rs("p4"))%>&nbsp;&nbsp;<%=minibild(rs("p3"))%>&nbsp;&nbsp;<%=minibild(rs("p2"))%></div></td>
    </tr>
    <tr valign="top"> 
      <td height="404" colspan="2"><table width="100%" height="510" border="0 " background="<%=storbild(rs("p6"))%>">
          <tr> 
            <td valign="top"><A href="javascript:history.go(-1)"> </A>
              <table width="97%" border="0 " align="center">
                <tr>
                  <td><br>
                    <font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><strong><%=Avbryt2(enter(rs("p7")))%><br>
                 </strong></font></td>
                </tr>
              </table>
              <strong><font size="2" face="Arial, Helvetica, sans-serif">
              <% Rs.MoveNext
Loop
Conn.Close
Set Conn = Nothing
%>

byggdas adress fönster får detta på slutet: byggda.asp?id=15 men som sagt så visas den inte

Nej vet att "fel" inte är ett kommando utan ett felmess...

Medlem sedan dec. 19996 721 inlägg
#13

jlee skrev:

Nu visas faktiskt posterna som de ska men länkar funkar inte

Blir det inga länkar? Kolla HTML-koden.

jlee skrev:

Nej vet att "fel" inte är ett kommando utan ett felmess...

Jag syftade på att ordet "Fel" står i koden, som om det vore ett kommando. Ta bort det.

Medlem sedan dec. 2002378 inlägg
#14

Tack Emission, hade inte gått utan din hjälp!! Det löste sig efter några timmars klurande.
En annan fråga (om jag får ställa den i denna tråden?)...att göra Thumbnails av en stor bild tex <%=rs("p5")%> Dessa thumbnails ska sedan öppnas som popup. Hur gör man detta smidigast. Har ett galleri script redan som är bra men har svårt att anpassa det till min sida. Vill inte ha paging mm bara tumnaglar utan text av stor bild. Bilden ligger dock inte i databasen utan bara en text lagrad i p5 som byter ut text mot bild.

Medlem sedan dec. 2002378 inlägg
#15

Bör jag skriva en ny tråd för min nästa fråga?

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