Avatar billede kimt Nybegynder
19. januar 2009 - 10:13 Der er 8 kommentarer og
1 løsning

movenext stop ved visning af sidste 3

Jeg har en side hvor der vises 3 billeder af gangen. Man kan så bladre frem (movenext) eller tilbage - 1 billede af gangen. Dette virker.

Mit problemer er, at når jeg bladre frem, så skal denne mulighed fjernes når de sidste tre billeder vises.
Avatar billede keysersoze Guru
19. januar 2009 - 19:24 #1
det er umuligt at svare på uden at du kommer med noget kode. En mulighed kunne være at hive 1 post mere ud end hvad der var nødvendigt (fx 4) og nå du har udskrevet de 3 poster kan du vha eof se om der er en nummer 4 så næste-pilen er der eller om der ikke er en nummer 4 og ingen pil skal vises.
Avatar billede kimt Nybegynder
19. januar 2009 - 22:33 #2
<%
Dim Repeat2__numRows
Dim Repeat2__index

Repeat2__numRows = 3
Repeat2__index = 0
dbREFERENCER_BILLEDE_numRows = dbREFERENCER_BILLEDE_numRows + Repeat2__numRows
%>

--------------------------

<table border="0" cellspacing="0" cellpadding="0" width="758" height="192">
<tr>
<td width="25"></td>
<td width="22"></td>
<td width="11">

<table border="0" cellspacing="0" cellpadding="0" width="11" height="192">
<tr height="85">
<td width="11"></td>
</tr>
<tr height="22">
<td width="11"><% If MM_offset <> 0 Then %><A HREF="<%=MM_movePrev%>"><img src="grafik/left_pil.gif" border="0" width="11" height="22"></A><% End If ' end MM_offset <> 0 %></td>
</tr>
<tr height="85">
<td width="11"></td>
</tr>
</table>

</td>
<td width="642">

<table border="0" cellspacing="0" cellpadding="0" width="642" height="192">
<tr align="center">

<% While ((Repeat2__numRows <> 0) AND (NOT dbREFERENCER_BILLEDE.EOF))
%>
<td width="192">

<table border="0" cellspacing="0" cellpadding="0" width="192" height="192" bgcolor="C2CE22">
<tr height="11">
<td colspan="3"></td>
</tr>
<tr height="170">
<td width="11"></td>
<td width="170"><a href="?menu=Referencer&bigpicture=<%=(dbREFERENCER_BILLEDE.Fields.Item("tblID").Value)%>"><img src="grafik/<%=(dbREFERENCER_BILLEDE.Fields.Item("tblBILLEDE").Value)%>" border="0" width="170" height="170"></a></td>
<td width="11"></td>
</tr>
<tr height="11">
<td colspan="3"></td>
</tr>
</table>

</td>
<%
  Repeat2__index=Repeat2__index+1
  Repeat2__numRows=Repeat2__numRows-1
  dbREFERENCER_BILLEDE.MoveNext()
  if Repeat2__numRows <> 0 AND not dbREFERENCER_BILLEDE.EOF then
%>
<td width="33"></td>
<%
  end if
Wend
%>

</tr>
</table>

</td>
<td width="11">

<table border="0" cellspacing="0" cellpadding="0" width="11" height="192">
<tr height="85">
<td width="11"></td>
</tr>
<tr height="22">
<td width="11"><% If Not MM_atTotal Then %><A HREF="<%=MM_moveNext%>"><img src="grafik/right_pil.gif" border="0" width="11" height="22"></A><% End If ' end Not MM_atTotal %></td>
</tr>
<tr height="85">
<td width="11"></td>
</tr>
</table>

</td>
<td width="22"></td>
<td width="25"></td>
</tr>
</table>
Avatar billede keysersoze Guru
20. januar 2009 - 15:15 #3
det ligner lidt noget DreamWeaver-noget - men løsningen vil være den samme; i stedet for 3 skal du hive 4 poster ud men fortsat kun udskrive 3 - herefter vil du kunne bruge en evt fjerde post til at se hvilke pile der skal sættes.
Avatar billede kimt Nybegynder
20. januar 2009 - 20:39 #4
Det er dreamweaver! Men hvordan vil du mene, at det skal gøres i praksis?
Avatar billede keysersoze Guru
21. januar 2009 - 11:12 #5
sådan meget kort fortalt skal du i din while-løkke have en counter der går op til 3 så ikke en eventuelt 4. post skrives ud - herefter vil du kunne gøre som du allerede gør inde i løkken, nemlig benytte if Repeat2__numRows <> 0 AND not dbREFERENCER_BILLEDE.EOF then, til at bestemme om pilen skal udskrives eller ej. Dog skal du nok udskifte 0 med 1 da der jo netop skal være en tilbage.
Avatar billede kimt Nybegynder
21. januar 2009 - 18:24 #6
Jeg har brug for lidt hjælp, for jeg har lidt svært ved, at forestille mig den løkke du nævner.
Avatar billede keysersoze Guru
21. januar 2009 - 21:30 #7
counter = 0
if Repeat2__numRows <> 0 AND counter < 3 AND not dbREFERENCER_BILLEDE.EOF then
'indhold
counter = counter + 1
end if
Avatar billede kimt Nybegynder
22. januar 2009 - 00:16 #8
Hey keysersoze, du skal have nogle point. Jeg skriver lige det endelige resultat her. Dit forslag viste sig, at være den halve løsning, da der også var noget kode der skulle flyttes rundt. Men nu virker det!

<%
Dim Repeat2__numRows
Dim Repeat2__index

Repeat2__numRows = 3
Repeat2__index = 0
dbREFERENCER_BILLEDE_numRows = dbREFERENCER_BILLEDE_numRows + Repeat2__numRows
%>

--------------------------

<table border="0" cellspacing="0" cellpadding="0" width="758" height="192">
<tr>
<td width="25"></td>
<td width="22"></td>
<td width="11">

<table border="0" cellspacing="0" cellpadding="0" width="11" height="192">
<tr height="85">
<td width="11"></td>
</tr>
<tr height="22">
<td width="11"><% If MM_offset <> 0 Then %><A HREF="<%=MM_movePrev%>"><img src="grafik/left_pil.gif" border="0" width="11" height="22"></A><% End If ' end MM_offset <> 0 %></td>
</tr>
<tr height="85">
<td width="11"></td>
</tr>
</table>

</td>
<td width="642">

<table border="0" cellspacing="0" cellpadding="0" width="642" height="192">
<tr align="center">

<% While ((Repeat2__numRows <> 0) AND (NOT dbREFERENCER_BILLEDE.EOF))
counter = 0
if Repeat2__numRows <> 0 AND counter < 3 AND not dbREFERENCER_BILLEDE.EOF then %>
<td width="192">

<table border="0" cellspacing="0" cellpadding="0" width="192" height="192" bgcolor="C2CE22">
<tr height="11">
<td colspan="3"></td>
</tr>
<tr height="170">
<td width="11"></td>
<td width="170"><a href="?menu=Referencer&bigpicture=<%=(dbREFERENCER_BILLEDE.Fields.Item("tblID").Value)%>"><img src="grafik/<%=(dbREFERENCER_BILLEDE.Fields.Item("tblBILLEDE").Value)%>" border="0" width="170" height="170"></a></td>
<td width="11"></td>
</tr>
<tr height="11">
<td colspan="3"></td>
</tr>
</table>

</td>
<% counter = counter + 1
end if
  Repeat2__index=Repeat2__index+1
  Repeat2__numRows=Repeat2__numRows-1
  dbREFERENCER_BILLEDE.MoveNext()
  if Repeat2__numRows <> 0 AND not dbREFERENCER_BILLEDE.EOF then
%>
<td width="33"></td>
<% else if Repeat2__numRows = 0 AND not dbREFERENCER_BILLEDE.EOF then %>
</tr>
</table>

</td>
<td width="11" align="left">

<table border="0" cellspacing="0" cellpadding="0" width="11" height="192">
<tr height="85">
<td width="11"></td>
</tr>
<tr height="22">
<td width="11"><% If Not MM_atTotal Then %><A HREF="<%=MM_moveNext%>"><img src="grafik/right_pil.gif" border="0" width="11" height="22"></A><% End If ' end Not MM_atTotal %></td>
</tr>
<tr height="85">
<td width="11"></td>
</tr>
</table>

</td>
<td width="22"></td>
<% else %>
</tr>
</table>

</td>
<td width="33"></td>
<%
end if
  end if
wend
%>

<td width="25"></td>
</tr>
</table>
Avatar billede keysersoze Guru
22. januar 2009 - 00:54 #9
jeg kan ikke lige helt gennemskue hvordan det kom til at virke - men gør det det er det selvfølgelig hovedsagen. Var jeg dig ville jeg dog lige sørge for at din kode vil kunne valideres uanset hvad der sker - så vidt jeg kan se vil få en ret fejlagtig tabel-struktur (bla en del manglende </table>) hvis ikke du ryger ind i din sidste if-sætning.

benytter du Access kan du fremover måske få en lidt mere overskuelig kode ved at kigge lidt på denne artikel; http://www.eksperten.dk/spm/860365
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