Avatar billede lbos Nybegynder
09. marts 2003 - 14:19 Der er 6 kommentarer og
1 løsning

Hjælp til paging kan ikke finde ud af et

Hej jeg har en search som kører med radio knapper hvor den trækker det ud .det kører fint men jeg kunne godt tænke mig at den kun trak 5 ud af gangen. Her er min kode kunne nok godt laves bedre ? :
Jeg får kontakt med db via include

<%
Select Case Request.Form("sex")
Case "452"
  sex = "mand"
Case "453"
    sex = "kvinde"
End Select

Select Case Request.Form("lookfor")
Case "5"
    lookfor = "mand"
Case "4"
  lookfor = "kvinde"
End Select

'Else

   
   
   
    Set con = server.CreateObject("ADODB.Connection")
    con.Open Ketab

    Set RS = Server.CreateObject("ADODB.Recordset")


    SQL = "Select * From users Where sex = '" & sex & "' AND lookfor = '" & lookfor & "'"

    RS.open sql, con
%>
</p>
<p align="center">
<form action="***.asp" method="Post">
    <input type="hidden" name="sex" size="20" value=""> <%
Response.Write"<table border=0 cellspacing=35 cellpading=20>"
LinkCount = 0
Do Until rs.EOF
'change this 2 to any number you like:
If LinkCount Mod 4 = 0 Then
    If LinkCount <> 0 Then Response.Write"</tr>"
            Response.Write "<tr><td><img width=50 src=pictures/" & RS("filename") & "><BR>"& RS("username") & "<BR>"& RS("starsign") & "</td>"
            'Response.Write "<tr><td>"& RS("username") & "></td>"

    Else
            Response.Write "<td><img width=50 src=pictures/" & RS("filename") & "><BR>"& RS("username") & "<BR>"& RS("starsign") & "</td>"
            'Response.Write "<td>"& RS("username") & "></td>"
    End If
    LinkCount = LinkCount + 1
    rs.MoveNext
Loop
Response.Write"</tr></table>"
rs.Close
Set rs = Nothing

%>
</table>

</form>
<%'End If%>

</div>
</body>
Avatar billede hossein Nybegynder
09. marts 2003 - 14:58 #1
Den kode du har vist laver outputtet i stedet for lodret til vandret. Hvis du så vil vise dine output 5 pr side så kig her: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnserv/html/server05222000.asp
Avatar billede eagleeye Praktikant
09. marts 2003 - 15:00 #2
Eks hvor denne er brugt:  http://activedeveloper.dk/aspdigital/kapitel2/paging.asp

Man er nød til at sende søge parametre med vidre med hvert link for den kan søge rigtigt. Prøv dette kode.:





<%
tmpSex = Request.Form("sex")
if tmpSex = "" then tmpSex = Request.QueryString("sex")
Select Case tmpSex
Case "452"
  sex = "mand"
Case "453"
    sex = "kvinde"
End Select

tmplookfor = Request.Form("lookfor")
if tmplookfor = "" then tmplookfor = Request.QueryString("lookfor")
Select Case tmplookfor
Case "5"
    lookfor = "mand"
Case "4"
  lookfor = "kvinde"
End Select

'*** Pagning del start
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If
'*** Paging del slut


'Else

   
   
   
    Set con = server.CreateObject("ADODB.Connection")
    con.Open Ketab

    Set RS = Server.CreateObject("ADODB.Recordset")

    SQL = "Select * From users Where sex = '" & sex & "' AND lookfor = '" & lookfor & "'"

    RS.open sql, con,1
%>
</p>
<p align="center">
<form action="***.asp" method="Post">
    <input type="hidden" name="sex" size="20" value=""> <%
Response.Write"<table border=0 cellspacing=35 cellpading=20>"

'*** Paging del start
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 5
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
'*** Paging del slut

LinkCount = 0
'*** Paging del start, nyt Do while .. loop for paging
'Do Until rs.EOF
Do While Not rs.EOF And intRecCount > 0
'*** Paging del slut

'change this 2 to any number you like:
If LinkCount Mod 4 = 0 Then
    If LinkCount <> 0 Then Response.Write"</tr>"
            Response.Write "<tr><td><img width=50 src=pictures/" & RS("filename") & "><BR>"& RS("username") & "<BR>"& RS("starsign") & "</td>"
            'Response.Write "<tr><td>"& RS("username") & "></td>"

    Else
            Response.Write "<td><img width=50 src=pictures/" & RS("filename") & "><BR>"& RS("username") & "<BR>"& RS("starsign") & "</td>"
            'Response.Write "<td>"& RS("username") & "></td>"
    End If
    LinkCount = LinkCount + 1
    rs.MoveNext
    '*** Paging del start
    intRecCount = intRecCount - 1
    '*** Paging del slut
Loop
'*** Paging del start
End IF
'*** Paging del slut
Response.Write"</tr></table>"

'**** Paging del stat
'Her laves link frem og tilbage og 1-2-3-4 osv
'Det kan være du skal pakke koden fint ind i en <tabel>

Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=?page=" & intNum & "&sex="&tmpSex&"&lookfor="&tmplookfor&">" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=?page=" & intPage - 1 & "&sex="&tmpSex&"&lookfor="&tmplookfor&">Forrige</a>"
Else
    Response.Write "Forrige"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=?page=" & intPage + 1 & "&sex="&tmpSex&"&lookfor="&tmplookfor&">Næste</a> "
Else
    Response.Write "Næste"
End If
'**** Paging del slut

rs.Close
Set rs = Nothing

%>
</table>

</form>
<%'End If%>

</div>
</body>
Avatar billede lbos Nybegynder
09. marts 2003 - 15:38 #3
Eagleeye det virker !!!Super ! Men når jeg har klikket mand-mand kommer kvinde-kvinde frem ? Og ligeså omvendt ???
Avatar billede hossein Nybegynder
09. marts 2003 - 16:58 #4
Eagleeye, du hopper end i mit besvarelse? og hvad har du tilføjet i mit besvaresle?
Avatar billede eagleeye Praktikant
09. marts 2003 - 17:12 #5
Hvis den bytter rundt på mand-mand og kvinde-kvinde 
Bytter den så ikke også rundt på mand-kvinde og kvinde-mand ????

Hvis de bliver byttet rundt så tror jeg du skal kigge i dine Select Case for at se om den vælger rigtigt.
Avatar billede lbos Nybegynder
09. marts 2003 - 17:51 #6
Jeg har lige tjekket det hele
Select Case tmpSex
Case "452"
  sex = "mand"----------Denne her har jeg lavet omvendt
Case "453"
    sex = "kvinde"----------Denne her har jeg lavet omvendt
End Select


Select Case tmplookfor
Case "5"
    lookfor = "mand"
Case "4"
  lookfor = "kvinde"
End Select

Når jeg har gjordt kører det som det skal med kvinde-mand  mand-kvinde
men ikke når jeg søger mand-mand  kvinde-kvinde når jeg vælger kvinde-kvinde kommer mand frem
når jeg tager mand-mand kommer kvinde frem
og hvis jeg laver det om passer mand-mand men ikke mand-kvinde???????????????
Nå men det er vist noget rigtig lort det her !
Men nu når jeg har dig jeg har et link til dem der kommer frem hvordan skriver den i asp.Den skal åbne i et nyt vindue som her:
<script type="text/javascript">
function openwindow(l, w, h)
{
window.open(l,"my_new_window","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=" + w +",height=" + h + ",")
}
</script>
<head>

<a href="#" l="show_profil.asp?user=<%=rsUser("username")%>" onclick="openwindow(l, 530,500)" title="Se profilen klik her !"><%=rsUser("username")%></a>
Kan man det ???
Du får lige pointene !
Avatar billede eagleeye Praktikant
09. marts 2003 - 18:10 #7
Du skal bruge javascriptet til at åbne vinduet. Det eneste ASP kan er at lave en redirect.

Ja du kan ligge det javascript ind i filen og så lave et link som dette skal det vist være:

<a href="#" onclick="openwindow('show_profil.asp?user=<%=rsUser("username")%>', 530,500);" title="Se profilen klik her !"><%=rsUser("username")%></a>
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