/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Generering af knapper med en variabel
Fra : thagemann89


Dato : 07-09-05 16:23

Hej,

Jeg mangler lidt hjælp til et system hvor at når et vis antal
resultater er blevet opnået (f.eks. 5) så bliver der lavet to
knapper.
Den ene er til at vise de 5 næste resultater og den anden er til
at vise de 5 forrige...

Men kan ikke helt lige regne ud hvordan jeg skal gøre det.

Det må vel være noget med en variable fra 1-5 step 1 og når i = 5
så skal knapperne generes. Og så selvfølgelig også hvordan man på
den næste side ser de næste 5, og ikke bare de samme 5 osv osv...
:)

Håber der er nogle kloge hoveder derude som kan hjælpe mig.

Mvh
Thomas Hagemann

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
MooreHojer (07-09-2005)
Kommentar
Fra : MooreHojer


Dato : 07-09-05 21:03

> Jeg mangler lidt hjælp til et system hvor at når et vis antal
> resultater er blevet opnået (f.eks. 5) så bliver der lavet to
> knapper.
> Den ene er til at vise de 5 næste resultater og den anden er til
> at vise de 5 forrige...
>
> Men kan ikke helt lige regne ud hvordan jeg skal gøre det.
>
> Det må vel være noget med en variable fra 1-5 step 1 og når i = 5
> så skal knapperne generes. Og så selvfølgelig også hvordan man på
> den næste side ser de næste 5, og ikke bare de samme 5 osv osv...
> :)

Måske noget i retningen af det her:

<--KODE START-->

<%
Dim t
If t = "0" Then
t = 1
Else
t = request.form("t")
End If

For t = t to t+5
Udskriv post
Next
%>
<form action="samme_side.asp" method="post">
<%
t = t - 5
%>
<input type="hidden" name="t" value="<% response.write t %>">
<input type="submit" name="submit" value="send">
</form>

<form action="samme_side.asp" method="post">
<%
t = t + 1
%>
<input type="hidden" name="t" value="<% response.write t ">
<input type="submit" name="submit" value="send">
</form>

<--KODE SLUT-->

Jeg har ikke afprøvet det, det er bare noget jeg lige hurtigt har sat
sammen
Håber det kan hjælpe dig på rette vej

--
MooreHojer


MooreHojer (08-09-2005)
Kommentar
Fra : MooreHojer


Dato : 08-09-05 01:41

> Jeg mangler lidt hjælp til et system hvor at når et vis antal
> resultater er blevet opnået (f.eks. 5) så bliver der lavet to
> knapper.
> Den ene er til at vise de 5 næste resultater og den anden er til
> at vise de 5 forrige...
>
> Men kan ikke helt lige regne ud hvordan jeg skal gøre det.
>
> Det må vel være noget med en variable fra 1-5 step 1 og når i = 5
> så skal knapperne generes. Og så selvfølgelig også hvordan man på
> den næste side ser de næste 5, og ikke bare de samme 5 osv osv...

Jeg har ikke afprøvet følgende kode, det er bare noget jeg lige har sat
sammen, så jeg ved ikke om det virker

<--KODE START-->

<%
Dim t
If t = "0" Then
t = 1
Else
t = request.form("t")
End If

For t = t to t+5
Udskriv post
Next
%>
<form action="samme_side.asp" method="post">
<%
t = t - 5
%>
<input type="hidden" name="t" value="<% response.write t %>">
<input type="submit" name="submit" value="send">
</form>

<form action="samme_side.asp" method="post">
<%
t = t + 1
%>
<input type="hidden" name="t" value="<% response.write t ">
<input type="submit" name="submit" value="send">
</form>

<--KODE SLUT-->

Håber du kan bruge det til at komme på rette vej

--
MooreHojer


thagemann89 (08-09-2005)
Kommentar
Fra : thagemann89


Dato : 08-09-05 14:41

> Jeg har ikke afprøvet følgende kode, det er bare noget jeg lige har sat
> sammen, så jeg ved ikke om det virker

Det er sku meget godt klaret, det virker næsten hehe :)
Problemet er at den nu laver en knap for hver eneste record, istedet for at
lave en for hver femte.

http://www.intelligent-design.dk/nybojco/visfliptop.asp

-> det jeg gerne vil have er at når der er blevet udskrevet 5 kapsler, så
går den ind og laver en knap lige nedenunder med link til de 5 næste.


&gt; Dim t
&gt; If t = "0" Then
&gt; t = 1
&gt; Else
&gt; t = request.form("artikkelnummer")
&gt; End If

Det vil så sige at t skal være artikkelnummer. Men jeg forstår ikke helt
hvorfra du får selve request.form fra, er det først når du klikker på en af
knapperne ?

Mvh
Thomas Hagemann

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

MooreHojer (08-09-2005)
Kommentar
Fra : MooreHojer


Dato : 08-09-05 21:03

> Det er sku meget godt klaret, det virker næsten hehe :)
> Problemet er at den nu laver en knap for hver eneste record, istedet
> for at
> lave en for hver femte.
>
> http://www.intelligent-design.dk/nybojco/visfliptop.asp

Er du sikker på at du ikke har kommet til at sætte formdelen ind før
'Next'? Den skal stå efter...


> Det vil så sige at t skal være artikkelnummer. Men jeg forstår ikke
> helt
> hvorfra du får selve request.form fra, er det først når du klikker på
> en af
> knapperne ?

t kommer fra det skjulte felt i formularen...

--
MooreHojer


thagemann89 (09-09-2005)
Kommentar
Fra : thagemann89


Dato : 09-09-05 09:18


> > http://www.intelligent-design.dk/nybojco/visfliptop.asp

> Er du sikker på at du ikke har kommet til at sætte formdelen ind før
> 'Next'? Den skal stå efter...

Havde kommet til at lade Do stå... :/ - Men, hvis du kigger på siden igen,
viser den kun 1 kapsel, samtidig med at den laver kanpperne...

Jeg er ikke helt sikker på hvad t skal være, ved ikke om det er
ligegyldigt eller hvad, men iøjeblikket har jeg sat t til at være
artikkelnummer

Kode:
<td colspan="2"><hr noShade SIZE="1"></td>
</tr>
<tr>
<td><img src="<%= rs("billede") %>" alt="billede" /></td>
<td><strong>Description:</strong>
<%=rs("description")%><br><br><strong>Article no.:</strong> <%=
rs("artikkelnummer")%></td>
</tr>

Mvh
Thomas Hagemann

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

MooreHojer (09-09-2005)
Kommentar
Fra : MooreHojer


Dato : 09-09-05 14:57

Din kode i 'For t = ...'-løkke skal være:

<--KODE START-->
<%
For t = t to t+5
%>
<td colspan="2"><hr noShade SIZE="1"></td>
</tr>
<tr>
<td><img src="<%= rs("billede") %>" alt="billede" /></td>
<td><strong>Description:</strong>
<%=rs("description")%><br><br><strong>Article no.:</strong> <%=
rs("artikkelnummer")%></td>
</tr>
<%
rs.MoveNext
Next
%>

og det skal så gerne udskrive 5 poster startende fra post 't'.
Dette kræver dog en lille bid kode som jeg lige havde glemt at få med:

<--KODE START-->
<%
For x = 1 to t-1
rs.MoveNext
Next
%>


og den kodestump skal stå lige FØR den anden 'For t = ....'-løkke.

Det formen gør er at den fortæller hvilke fem poster der skal vises på
næste/forrige side, og da forrige side skal vise de forrige 5 poster
trækkes 5 t for at den "forrige" side starter fem poster tidligere og da
"næste" side skal vise de næste 5 poster ligges 6 til t (vi trak jo 5
fra lige før) for at få den til at starte med posten efter den vi lige
har set.

<--KODE START-->
<form action="samme_side.asp" method="post">
<%
t = t - 5
%>
<input type="hidden" name="t" value="<% response.write t %>">
<input type="submit" name="submit" value="send">
</form>

<form action="samme_side.asp" method="post">
<%
t = t + 6

%>
<input type="hidden" name="t" value="<% response.write t ">
<input type="submit" name="submit" value="send">
</form>

<--KODE SLUT-->

Men endnu en gang vil jeg lige understrege at jeg ikke har afprøvet
koden så det kan godt være du lige skal tilpasse den lidt

--
MooreHojer


thagemann89 (09-09-2005)
Kommentar
Fra : thagemann89


Dato : 09-09-05 16:00

> og det skal så gerne udskrive 5 poster startende fra post 't'.
> Dette kræver dog en lille bid kode som jeg lige havde glemt at få med:

Det gør det også fint, men har et lille layout problem her, den udskriver
hvorefter den udskrifter formelen og så til sidst udskriver den det sidste
billede... :/


> Det formen gør er at den fortæller hvilke fem poster der skal vises på
> næste/forrige side, og da forrige side skal vise de forrige 5 poster
> trækkes 5 t for at den "forrige" side starter fem poster tidligere og da
> "næste" side skal vise de næste 5 poster ligges 6 til t (vi trak jo 5
> fra lige før) for at få den til at starte med posten efter den vi lige
> har set.

Virker stadig ikke helt.. Men skal jeg ikke ændre i mit recordset for at det
kommer til at virke? Lige nu ser mit recordset således ud:
<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM artikkelnummer", Conn
%>


> <--KODE START-->
> <form action="samme_side.asp" method="post">
> <%
&gt; t = t - 5
&gt; %>
> <input type="hidden" name="t" value="<% response.write t %>"> (...)
> <input type="hidden" name="t" value="<% response.write t ">

Er der ikke noget med at man ikke må have ens form navne? Vil det ødelægge
det hele hvis jeg ændrer et af dem?


Tusinde tak for hjælpen indtil videre!

Mvh
Thomas Hagemann


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

MooreHojer (10-09-2005)
Kommentar
Fra : MooreHojer


Dato : 10-09-05 00:40

> Er der ikke noget med at man ikke må have ens form navne? Vil det
> ødelægge
> det hele hvis jeg ændrer et af dem?

Felterne må gerne hedde det samme så længe det er i hver sin form,
hvilket det er i dette tilfælde.

--
MooreHojer


thagemann89 (10-09-2005)
Kommentar
Fra : thagemann89


Dato : 10-09-05 01:03

> Felterne må gerne hedde det samme så længe det er i hver sin form,
> hvilket det er i dette tilfælde.

-> ahh ok... Men har stadig problemet at det ikke virker.. :/ så håber
ikke at det gør det store, men jeg copy/paster lige koden ind... kun
det relevante selvfølgelig... :) - og ellers kan du se det her:
http://www.intelligent-design.dk/nybojco/visfliptop.asp

<--Kode start-->
<table>
<tr>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM artikkelnummer", Conn
%>
<p style="word-spacing: 1px; margin-left: 10; margin-top: 1px;
margin-bottom: 1px; size: 10px"><font face="Verdana" size="2">

<%
Dim t
t = request.form("artikkelnummer")
%>

<%
For x = 1 to t-1
rs.MoveNext
Next
%>
<%
For t = t to t+4
%>
<table>
<tr>
<td colspan="2"><hr noShade SIZE="1"></td>
</tr>
<tr>
<td><img src="<%= rs("billede") %>" alt="billede" /></td>
<td><strong>Description:</strong>
<%=rs("description")%><br><br><strong>Article no.:</strong> <%=
rs("artikkelnummer")%></td>
</tr>
<%
rs.MoveNext
Next
%>

<form action="visfliptop.asp" method="post">
<%
t = t - 5
%>
<input type="hidden" name="t" value="<% response.write t %>">
<input type="submit" name="submit" value="tilbage">
</form>
<form action="visfliptop.asp" method="post">
<%
t = t + 6
%>
<input type="hidden" name="t" value="<% response.write t %>">
<input type="submit" name="submit" value="frem">
</form>

<%
Set rs = Nothing
%>   


Mvh
Thomas Hagemann

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (08-09-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-09-05 09:56

thagemann89 skrev:

> Jeg mangler lidt hjælp til et system hvor at når et vis antal
> resultater er blevet opnået (f.eks. 5) så bliver der lavet to
> knapper.
> Den ene er til at vise de 5 næste resultater og den anden er til
> at vise de 5 forrige...

Det du efterlyser kaldes "paging". En googling på paging og asp
giver en del eksempler at kigge på.

Hvis du ikke kan få det til at spille, så prøv at beskrive lidt
mere konkret hvor dine resultater kommer fra, og hvordan de skal
vises.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste