Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Paging

Postades av 2002-06-20 13:14:34 - Jimmy Nilsson, i forum asp - allmänt, Tråden har 8 Kommentarer och lästs av 462 personer

Hej jag har en sökfunktion som ser ut som nedan. Nu är jag skaplig amatör på ASP och jag vill använda paging så att sökresultaten kommer med 10 per sida, men förstår inte riktigt hur jag ska göra. Någon som kan ge en några hintar så man kan ro det i hamn.

<code>

formulärsida:

<table border="0">
<tr>
<td width="55"><div>Sök på:</td>
<td>
<form method="post" action="swe_sel_art.asp" target="resultat">
<select name="artsok">
<option>Artikelnummer</option>
<option>Beskrivning</option>
</select>
<%
Session("user")
Session("pass")
%>
</td>
<td> </td>
<tr>
<td> </td>
<td valign="top"><input type="text" size="45" name="sokord"></td>
<td valign="top"><input type="submit" value="Sök"></td>
</table>


Resultatsida


<%
Session("user")
Session("pass")
%>

<!--#include file="connect.asp"-->

<%

Dim artsok, sokord, SQL, RS, RS2

artsok = Request.Form("artsok")
sokord = UCASE(Request.Form("sokord"))

If Request.Form("artsok") = "Artikelnummer" Then


SQL = "SELECT Upper(""DE_CHSArtikelkod"") DE_CHSARTIKELKOD, Upper(F_LEFT(""DE_Beskrivning"",35)) DE_BESKRIVNING, Upper(""DE_Vikt"") DE_VIKT, Upper(""DE_CHSHuvudprislista"") DE_CHSHUVUDPRISLISTA, Upper(""DE_CHSListpris"") DE_CHSLISTPRIS, Upper(""DE_CHSRabattkod"") DE_CHSRABATTKOD FROM ""ARTIKELREGISTER"" WHERE ""DE_CHSHuvudprislista"" ='Y' AND ""DE_CHSArtikelkod"" LIKE '%" & sokord & "%'"
Set RS = Conn.Execute(SQL)



' Kollar om sökningen finns i databasen annars skriver den ut Response.Write
If RS.EOF Then

Response.Write "<center><div>Sökningen på <b>" & sokord & "</b> gav inga träffar.</center>"
Else
%>
<table border="0" width="780">
<%
Do Until RS.EOF

Response.Write "<tr><td width=180><div>" & RS("DE_CHSARTIKELKOD") & "</td><td width=350><div>" & RS("DE_BESKRIVNING") & "</td><td width=70><div>" & RS("DE_CHSLISTPRIS") & "</td><td width=45><div>-</td><td width=70><div>-</td><td width=65><div>-</td>"


RS.MoveNext
Loop

End If

%>
</table>
<center>
<%
ElseIf Request.Form("artsok") = "Beskrivning" Then

SQL = "SELECT Upper(""DE_CHSArtikelkod"") DE_CHSARTIKELKOD, Upper(F_LEFT(""DE_Beskrivning"",35)) DE_BESKRIVNING, Upper(""DE_Vikt"") DE_VIKT, Upper(""DE_CHSHuvudprislista"") DE_CHSHUVUDPRISLISTA, Upper(""DE_CHSListpris"") DE_CHSLISTPRIS, Upper(""DE_CHSRabattkod"") DE_CHSRABATTKOD FROM ""ARTIKELREGISTER"" WHERE ""DE_CHSHuvudprislista"" ='Y' AND ""DE_Beskrivning"" LIKE '%" & sokord & "%'"
Set RS2 = Conn.Execute(SQL)




' Kollar om sökningen finns i databasen annars skriver den ut Response.Write
If RS2.EOF Then

Response.Write "<center><div>Sökningen på <b>" & sokord & "</b> gav inga träffar.</center>"
Else

Response.Write "<table border=0 width=780>"

Do Until RS2.EOF

Response.Write "<tr><td width=180><div>" & RS2("DE_CHSARTIKELKOD") & "</td><td width=350><div>" & RS2("DE_BESKRIVNING") & "</td><td width=70><div>" & RS2("DE_CHSLISTPRIS") & "</td><td width=45><div>-</td><td width=70><div>-</td><td width=65><div>-</td>"

RS2.MoveNext
Loop
End If
End If



%>
<%
RS.Close
RS2.Close
Conn.Close
Set RS = Nothing
Set RS2 = Nothing
Set Conn = Nothing
%>
</code>

Tack på förhand!


Svara

Sv: Paging

Postades av 2002-06-20 13:23:37 - Sara Winter

Det här är en kod som jag har använt för ett tag sen för paging. Jag hinner inte gå igenom det för att ta bort allt som jag har lagt in, så jag hoppas att du är bra på att klura hur det fungerar, men det borde fungera bra. Databasen som är öppnad är min, och jag har inte kollat igenom din kod, bara lusläst den, men om det är nått du absolut inte förstår, eller får rätt på så får du givetvis fråga.

Det här i huvudet:
<code>
<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
intPage = 1
End If

Set rs = server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM tblKunder ORDER BY fltForetag"
rs.Open SQL,"dbMecca", 1
%>


Det här skrivs i bodyn:
<table width="850" cellpadding="3" cellspacing="0" border="0">

<%If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 20
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount%>


<tr align="center">
<td colspan="4" BGCOLOR="#336699">
(<%Response.Write "Sida " & intPage & " av " & intPageCount %>)
</td>
</tr>
<tr bgcolor="#336699">
<td>Företag</td>
<td>Ort</td>
<td>Tel.</td>
<td>E-post</td>
</tr>
<%Do While Not rs.EOF And intRecCount > 0%>
<tr bgcolor="#6699cc">
<td>"><%=rs("fltForetag")%></td>
<td><%=rs("fltPostadress")%></td>
<td><%=rs("fltTel")%></td>
<td><%=rs("fltEmail")%></td>
</tr>
<%intRecCount = intRecCount - 1
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing%>
<tr align="center">
<td colspan="4" BGCOLOR="#336699"><font face="verdana" size="1">
<%If Clng(intPage) > 1 Then
Response.Write "<<"
Else
Response.Write "&lt;&lt;"
End If
Response.Write "&nbsp;&nbsp;&nbsp;"
For intNum = 1 To intPageCount
Response.Write "" & intNum & " "
Next
Response.Write "&nbsp;&nbsp;&nbsp;"
If Clng(intPage) < Clng(intPageCount) Then
Response.Write ">> "
Else
Response.Write "&gt;&gt;"
End If%>
</td>
</tr>

</table>
</code>


Svara

Sv: Paging

Postades av 2002-06-24 12:40:42 - Jimmy Nilsson

Har nu lagt in följande men får det inte att fungera, någon som kan slå ett öga och kanske upptäcka något fel, jag får inget felmeddelande utan får ut länkarna men inga resultat från databasen, har kollat att skriva ut SQL-koden och den ser rätt ut.

formulär:
<code>
<form method="post" action="swe_sel_art.asp" target="resultat">
<select name="artsok">
<option>Artikelnummer</option>
<option>Beskrivning</option>
</select>
</td>
<td>&nbsp;</td>
<tr>
<td>&nbsp;</td>
<td valign="top"><input type="text" size="45" name="sokord"></td>
<td valign="top"><input type="submit" value="Sök"></td>

Resultatsidan:

<%

Dim artsok, sokord, SQL, RS, RS2, nPageCount, nPage

artsok = Request.Form("artsok")
sokord = UCASE(Request.Form("sokord"))

If Request.Form("artsok") = "Artikelnummer" Then


SQL = "SELECT Upper(""DE_CHSArtikelkod"") DE_CHSARTIKELKOD, Upper(F_LEFT(""DE_Beskrivning"",35)) DE_BESKRIVNING, Upper(""DE_Vikt"") DE_VIKT, Upper(""DE_CHSHuvudprislista"") DE_CHSHUVUDPRISLISTA, Upper(""DE_CHSListpris"") DE_CHSLISTPRIS, Upper(""DE_CHSRabattkod"") DE_CHSRABATTKOD FROM ""ARTIKELREGISTER"" WHERE ""DE_CHSHuvudprislista"" ='Y' AND ""DE_CHSArtikelkod"" LIKE '%" & sokord & "%'"
Set RS = Conn.Execute(SQL)
RS.CursorLocation = 3 ' adUseClient


' Kollar om sökningen finns i databasen annars skriver den ut Response.Write
If RS.EOF Then

Response.Write "<center><div>Sökningen på <b>" & sokord & "</b> gav inga träffar.</center>"
Else

'Set the page size of the recordset
RS.PageSize = 10

'get the number of pages
nPageCount = RS.PageCount

nPage = CLng(Request.Querystring("page"))

If nPage < 1 Or nPage > nPageCount Then
nPage = 1
End If

' Sida 1
Response.Write "Första sidan "

' Foregaende sida
Response.Write "Föregående sida "

' Nasta sida
Response.Write "Nästa sida "

' Sista Sidan
Response.Write "Sista sidan "

%>
<table border="0" width="780">
<%

'Gör att recordsetet går till rätt sida
RS.AbsolutePage = nPage

'Visa sökresultat

Do Until ( RS.EOF Or RS.AbsolutePage <> nPage )

Response.Write "<tr><td width=180><div>" & RS("DE_CHSARTIKELKOD") & "</td><td width=350><div>" & RS("DE_BESKRIVNING") & "</td><td width=70><div>" & RS("DE_CHSLISTPRIS") & "</td><td width=45><div>-</td><td width=70><div>-</td><td width=65><div>-</td>"


RS.MoveNext
Loop

End If

RS.Close

%>
</table>
<center>
<%
ElseIf Request.Form("artsok") = "Beskrivning" Then

SQL = "SELECT Upper(""DE_CHSArtikelkod"") DE_CHSARTIKELKOD, Upper(F_LEFT(""DE_Beskrivning"",35)) DE_BESKRIVNING, Upper(""DE_Vikt"") DE_VIKT, Upper(""DE_CHSHuvudprislista"") DE_CHSHUVUDPRISLISTA, Upper(""DE_CHSListpris"") DE_CHSLISTPRIS, Upper(""DE_CHSRabattkod"") DE_CHSRABATTKOD FROM ""ARTIKELREGISTER"" WHERE ""DE_CHSHuvudprislista"" ='Y' AND ""DE_Beskrivning"" LIKE '%" & sokord & "%'"
Set RS2 = Conn.Execute(SQL)




' Kollar om sökningen finns i databasen annars skriver den ut Response.Write
If RS2.EOF Then

Response.Write "<center><div>Sökningen på <b>" & sokord & "</b> gav inga träffar.</center>"
Else

Response.Write "<table border=0 width=780>"

Do Until RS2.EOF

Response.Write "<tr><td width=180><div>" & RS2("DE_CHSARTIKELKOD") & "</td><td width=350><div>" & RS2("DE_BESKRIVNING") & "</td><td width=70><div>" & RS2("DE_CHSLISTPRIS") & "</td><td width=45><div>-</td><td width=70><div>-</td><td width=65><div>-</td>"

RS2.MoveNext
Loop
End If
End If



%>
<%

RS2.Close
Conn.Close
Set RS2 = Nothing
Set Conn = Nothing
%>
</code>


Svara

Sv: Paging

Postades av 2002-06-24 13:24:02 - Sara Winter

Vilka länkar är det du får ut?

sokord = UCASE(Request.Form("sokord"))
är det meningen att det ska vara två ___^ parantestecken där? Det finns på ett par ställen, kolla om det är korrekt. Jag kollar lite mer i din kod och ser om jag kan hitta nått fel.
Har du dubbelkollat så att du får ut rätt variabler från Request.Form?


Svara

Sv: Paging

Postades av 2002-06-24 13:33:52 - Jimmy Nilsson

jag får ut länkarna Nästa sida, föregående osv, UCASE gör om till stora bokstäver det är rätt överallt med dom, sökningen har fungerat bra innan utan paging


Svara

Sv: Paging

Postades av 2002-06-24 13:37:57 - Sara Winter

Ja, det var ju dumt av mig, jag kollade inte ordentligt! :/


Svara

Sv: Paging

Postades av 2002-06-24 13:40:20 - Jimmy Nilsson

Jag tackar för att någon tar sig tid, har suttit ett tag med det nu och då blir man rätt blind.


Svara

Sv: Paging

Postades av 2002-06-24 13:46:18 - Sara Winter

Jag ser inte direkt något fel, men jag har upptäckt att ASP är lite dålig med if-satserna, om man inte skriver något villkor efter else så läser den inte det som kommer efter. Du kan kanske testa med att sätta istället för...

If RS2.EOF Then
Response.Write "<center><div>Sökningen på " & sokord & " gav inga träffar.</center>"
Else
Response.Write "<table border=0 width=780>"

så skriver du...

If RS2.EOF Then
Response.Write "<center><div>Sökningen på " & sokord & " gav inga träffar.</center>"
Elseif not RS2.EOF Then
Response.Write "<table border=0 width=780>"
'mer kod

...i dina if-satser.


Svara

Sv: Paging

Postades av 2002-06-24 13:58:46 - Jimmy Nilsson

hjälpte tyvärr föga, samma resultat fortfarande


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 831
27 960
271 761
5 506
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies