Avatar billede nogetfx Nybegynder
07. september 2001 - 09:18 Der er 30 kommentarer og
2 løsninger

tabel med billeder plus titel

Jeg hae en tabel med billeder plus titel, hvor jeg skal have dem vist 8 (2 x 4) pr side og så en knap hvor man går videre til de næste 8...
jeg kører ligenu med det her, men det virker ikke helt...

Lars

    \'KORTENE
    grp = Request.Querystring (\"grp\")

    TabelNavn02 = \"kort\"
    Set kort = Conn.Execute (\"SELECT * From \" & TabelNavn02 & \" Where grp = \'\" & grp & \"\'\")
   
    kort.PageSize = 8

----------------------------------------------->
Noget andet indhold
----------------------------------------------->
                        <% If id = 10 Then %>
                                <td rowspan=\"2\" align=\"center\">
                        <!-- kort -->
                                    <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\" height=\"100%\">
                                        <tr>
                                            <td width=\"17\" rowspan=\"6\">
                                                 </td>
                                            <td height=\"5\" colspan=\"4\">
                                                 </td>
                                            <td width=\"55\" rowspan=\"6\">
                                                 </td>
                                        </tr>
                                        <tr>
                                    <%
                                        \' her laver vi en løkke der henter vores records ud
                                        While Not kort.EOF and rowCount < kort.PageSize
                                    %>
                                             
                                        <td valign=\"middle\" align=\"center\">
                                            <a href=\"java script:popup()\" \"popup.asp\" class=\"kort\"><img src=\"pic/larkana/small/<%=kort(\"img\")%>\" border=\"0\"><br><%=kort(\"head\")%></a></td>
                                       
                                       
                                           
                                           
                                       
                                    <%
                                      rowCount = rowCount + 1
                                      kort.Movenext

                                    Wend
   
                                    \' Hvis der er behov for flere sider for at vise hele recordsettet, så kommer her links...
                                    If kort.PageCount <> 1 Then
                                      For i = 1 to kort.PageCount
                                    response.write \"<a href=\'default.asp?page=\" & i & \"\'>\" & i & \"</a>\"
                                    Next
                                    End If

                                    %>       
                                    </tr>   
                                    </table></td>
                        <% End If%>
                       
Avatar billede torbenmelander Nybegynder
07. september 2001 - 09:19 #1
Jeg synes jeg har set dette spørgsmål før -- spørgsmål må kun oprettes én gang!!
Avatar billede nogetfx Nybegynder
07. september 2001 - 09:21 #2
Det har du også... men det er svært at får svar på det man har opretttet dagen før...
Avatar billede cuddles Nybegynder
07. september 2001 - 09:25 #3
Du skal sætte

kort.AbsolutePage = page

inden du fyrer din SQL af til databasen.
Men husk kun at sætte den, hvis du har flere records, end der er per side.
Avatar billede keysersoze Ekspert
07. september 2001 - 09:26 #4
allerførst syntes jeg at du skulle kigge på den tutorial jeg gav i det tidligere spm og så i første omgang KUN få udskrevet billederne og så glemme teksten.

Lykkedes dette (og det burde det rimelig simpelt) så er det lettere for mig/os at hjælpe dig med OGSÅ at få lagt den tekst ind der skal...
Avatar billede cuddles Nybegynder
07. september 2001 - 09:27 #5
nej, efter SQL\'en, men inden du flytter data over.... jeg skal vist lige vågne ;-)
Avatar billede nogetfx Nybegynder
07. september 2001 - 09:29 #6
ADODB.Recordset (0x800A0BB9)
Argumenterne har en forkert type eller er uden for det angivne område, eller der er opstået en konflikt mellem dem.
/tarottanken/default.asp, line 117


Det er den ikke særlig glad for...
Avatar billede nogetfx Nybegynder
07. september 2001 - 09:31 #7
>>> keysersoze Men den tager jo ikke højde for at det skal være 4x2
Avatar billede nogetfx Nybegynder
07. september 2001 - 09:32 #8
Jeg har smidt det her:
    <%
                                        \' her laver vi en løkke der henter vores records ud
                                        kort.AbsolutePage = page
                                        While Not kort.EOF and rowCount < kort.PageSize
                                    %>
Avatar billede keysersoze Ekspert
07. september 2001 - 09:43 #9
så må sætte det op vha tabeller - lave en count:

counter=0

if counter=0 then
Response.Write \"<tr>\"
end if

\'tabeludskrivning

counter=counter+1
if counter = 4 then
counter=0
Avatar billede cuddles Nybegynder
07. september 2001 - 09:46 #10
Husk at lave en:

    if antal >= cacheantal then
        kort.AbsolutePage = sidenr
    end if

Hvor antal er antal af records, som din query returnerer, og cacheantal er det antal, der er per side.
Avatar billede cuddles Nybegynder
07. september 2001 - 09:48 #11
og husk at lave noget tjek på, at page indeholder noget meningsfuldt f.eks.

if IsNumeric(Request(\"page\")) then
    page = request(\"page\")
else
    page = CInt(1)
end if
Avatar billede nogetfx Nybegynder
07. september 2001 - 09:54 #12
Ok.. Det begynder at komme, men jeg bruger lige noget tid på at få det sat sammen...
Avatar billede nogetfx Nybegynder
07. september 2001 - 10:22 #13
Nu er det tæt på at virke, men hvor skal jeg placere min:
counter=counter+1
if counter = 4 then
counter=0
Plus den opfatter ikke det med at sikfte side..


<%
\' her laver vi en løkke der henter vores records ud
While Not rs.EOF and rowCount < rs.PageSize

counter=0

if counter=0 then
Response.Write \"<tr>\"
end if

%>

<td><a href=#><img border=\'0\' src=\"pic/larkana/small/<%=rs(\"img\")%>\"><br><%=rs(\"head\")%></a></td>
<%
Response.write \"<br>\"
rowCount = rowCount + 1
      rs.Movenext


Wend

\' Hvis der er behov for flere sider for at vise hele recordsettet, så kommer her links...
If rs.PageCount <> 1 Then
  For i = 1 to rs.PageCount
    response.write \"<a href=\'paging.asp?page=\" & i & \"\'>\" & i & \"</a>\"
  Next
End If

%>
Avatar billede cuddles Nybegynder
07. september 2001 - 10:28 #14
Hvad med inde i While løkken at lave en if på størrelsen af counter, og så smide kode ud i forhold til det?

if counter < 4 then
    tabelkode til den ene række
else
    tabelkode til den anden række
end if
Avatar billede nogetfx Nybegynder
07. september 2001 - 10:32 #15
Den opfatter det hele som counter=0, så jeg skal lige have det talt op...
Avatar billede nogetfx Nybegynder
07. september 2001 - 10:34 #16
Det virker...! Men lige den sidste ting: Den opfatter ikke det med at skifte side...
Nogen foreslag..?
Avatar billede keysersoze Ekspert
07. september 2001 - 10:41 #17
du har (medmindre der er andet i dit script) glemt hele den paging-del der kan se på det link jeg gav dig tidligere...
Avatar billede nogetfx Nybegynder
07. september 2001 - 10:56 #18
Altså det til fra Necoders
Avatar billede keysersoze Ekspert
07. september 2001 - 10:59 #19
Avatar billede nogetfx Nybegynder
07. september 2001 - 10:59 #20
Men er det ikke den her del som skal ordne det:
<%
rowCount = rowCount + 1
      rs.Movenext


Wend

\' Hvis der er behov for flere sider for at vise hele recordsettet, så kommer her links...
If rs.PageCount <> 1 Then
  For i = 1 to rs.PageCount
    response.write \"<a href=\'paging.asp?page=\" & i & \"\'>\" & i & \"</a>\"
  Next
End If
Avatar billede cuddles Nybegynder
07. september 2001 - 11:09 #21
Hvad med:

response.write \"<a href=\" & Chr(34) & \"paging.asp?page=\" & i & Chr(34) & \">\" & i & \"</a>\"
Avatar billede keysersoze Ekspert
07. september 2001 - 11:10 #22
i dit kan jeg fx ikke se noget \"rs.PageSize = 8\"

og navigationen er der heller ikke:

Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount
    Response.Write \"<a href=paging.asp?page=\" & intNum & \">\" & intNum & \"</a> \"
Next

Response.Write \"<p>\"
If Clng(intPage) > 1 Then
    Response.Write \"<a href=paging.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=paging.asp?page=\" & intPage + 1 & \">&gt;&gt;</a> \"
Else
    Response.Write \"&gt;&gt;\"
End If
Avatar billede nogetfx Nybegynder
07. september 2001 - 11:10 #23
Gør ikke megen forskel
Avatar billede keysersoze Ekspert
07. september 2001 - 11:26 #24
ptøv at kom med HELE din kode...
Avatar billede nogetfx Nybegynder
07. september 2001 - 11:33 #25
<!-- #include file = include/placering.asp -->
<%

  \' Først finder vi ud af hvad vores paging side er på nu
  Page = Trim(Request(\"page\"))
  If Page = \"\" Then Page = 1

  \' Standard DSNless connection til databasen db.mdb
  \'Set Con = Server.CreateObject(\"ADODB.Connection\")
  \'DBPath = \"DBQ=\" & server.mappath(\"db.mdb\")
  \'Con.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath

  \' Vores SQL-forespørgsel vi ønsker paget
  Sql = \"SELECT * FROM kort\"

  \' Så begynder det sjove - her sætter vi vores recordset op...
  \' Jeg vil ikke gennemgå alt hvad recordsetkoden gør.
  \' Kig evt. i en dokumentation hvis du ikke helt er med på hvad der er hvad... :-)
  Set rs = Server.CreateObject(\"ADODB.Recordset\")
  rs.CursorType = adOpenStatic

  \' Hvor mange records vil have på hver side... her er den sat til 10
  rs.PageSize = 8
  rs.Open(Sql), Conn

  \' Her laver jeg et lille trick der gør at hvis ens forespørgsel er tom,
  \' så får man ikke en fejl
  \'If Not rs.EOF Then
  \'  rs.AbsolutePage = cINT(Page)
  \'  rowCount = 0
  \'End If

%>

<table cellpadding=\"0\" cellspacing=\"0\" border=\"1\">
    <tr>
<%
\' her laver vi en løkke der henter vores records ud
While Not rs.EOF and rowCount < rs.PageSize

\'counter=0

if counter=0 then
Response.Write \"<tr>\"
end if

counter=counter+1
if counter = 4 then
counter=0
end if
%>

<td align=\"center\" valign=\"middle\" width=\"80\" height=\"170\">
    <a href=#><img border=\'0\' src=\"pic/larkana/small/<%=rs(\"img\")%>\">
        <br><%=rs(\"head\")%></a></td>
<%
rowCount = rowCount + 1
      rs.Movenext


Wend

\' Hvis der er behov for flere sider for at vise hele recordsettet, så kommer her links...
If rs.PageCount <> 1 Then
  For i = 1 to rs.PageCount
    response.write \"<a href=\" & Chr(34) & \"test.asp?page=\" & i & Chr(34) & \">\" & i & \"</a>\"
    \'response.write \"<a href=\'paging.asp?page=\" & i & \"\'>\" & i & \"</a>\"
  Next
End If

%>


                                    </tr>   
                                    </table></td>

                                        </tr>
                                    </table></td>
Avatar billede nogetfx Nybegynder
07. september 2001 - 11:35 #26
Avatar billede keysersoze Ekspert
07. september 2001 - 11:44 #27
det er i hvert fald to vidt forskellige ting... når tegnet \' står foran en linie betyder det at den IKKE vil blive fortolket - og eftersom du har \' stort set alle linierne bruges de jo ikke!

i dit ser det fx sådan ud:

\'Set Con = Server.CreateObject(\"ADODB.Connection\")
\'DBPath = \"DBQ=\" & server.mappath(\"db.mdb\")
\'Con.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath

men på det fra netcoders ser det sådan ud:

Set Con = Server.CreateObject(\"ADODB.Connection\")
DBPath = \"DBQ=\" & server.mappath(\"db.mdb\")
Con.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath

og der er altså en verden til forskel...

 

 
Avatar billede nogetfx Nybegynder
07. september 2001 - 11:47 #28
Ja, det er fordi jeg har det i et andet asp doc
<!-- #include file = include/placering.asp -->
<%

Set Conn = Server.CreateObject(\"ADODB.Connection\")

Conn.Open \"PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\\Inetpub\\wwwroot\\tarottanken\\db\\db.mdb\"

%>
Avatar billede keysersoze Ekspert
07. september 2001 - 11:54 #29
hvad så med fx:


\' så får man ikke en fejl
\'If Not rs.EOF Then
\'  rs.AbsolutePage = cINT(Page)
\'  rowCount = 0
\'End If

jeg syntes at du skulle tage enten netcoders eksempel eller det fra activeserverpages. Så få det til at virke udelukkende med billederne - lad være med teksten og lad være med at inkludere filer. Så er det rimelig simpelt da det bare er lidt navne der skal byttes om. Når så det virker gå du et skridt videre ad gangen og får dét til at virke i steder for at ændre en masse uden grund inden det virker...

jeg smutter på weekend nu, så jeg kan desværre ikke hjælpe mere før søndag aften...

Avatar billede nogetfx Nybegynder
07. september 2001 - 11:57 #30
keysersoze>>> Det er i orden... Jeg kører også kun det fra Netcoders...
Når det her var slået til så fik jeg kun fejl...
\' så får man ikke en fejl
\'If Not rs.EOF Then
\'  rs.AbsolutePage = cINT(Page)
\'  rowCount = 0
\'End If
Avatar billede nogetfx Nybegynder
07. september 2001 - 14:00 #31
Det kører...
Avatar billede cuddles Nybegynder
08. september 2001 - 12:41 #32
Cool, var taget på seminar i går med firmaet, hvor der var mødepligt, så jeg kunne ikke lige komme med nogle svar/kommentarer førend nu. Det var da godt, at du fik det til at køre :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB