Avatar billede bredum Nybegynder
12. august 2002 - 19:44 Der er 12 kommentarer og
1 løsning

Hvorfor virker dette ikke?

Hvorfor virker dette ikke?
<!--#include file="protect.inc"-->
<%
Query = Trim(Request.Form("Query"))
Valg = Trim(Request.Form("Valg"))
%>
<HEAD><LINK href="style.css" type=text/css rel=stylesheet></HEAD>
<BODY bgColor=#ffffff leftMargin=0 topMargin=0 margin="0" marginheight="0"
marginwidth="0">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width="50%"><IMG height=84 src="image/sommertop.jpg" width=681></td>
    <td width="50%" valign="top">
    <!-- #include virtual="/dlg/velkom.inc"-->
    </td>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width="19%"><!-- #include virtual="/dlg/menu.inc"--></td>
    <td width="81%" valign="top">
    <form method="POST" action="find_kunde.asp">
    <select size="1" name="Valg">
    <option>Kundenr</option>
    <option value="Mobil">Mobiltelefon</option>
    <option value="Snr">Sælgernummer</option>
    </select></p>
    <input type="text" name="Query" size="25">
    <input type="submit" value="Søg" name="Soeg">
    <input type="reset" value="Slet" name="slet">
    </form>
    </td>
  </tr>
</table>
<br>
<% If Query = "" Then %>
<% Else %>
<!-- #include virtual="/dlg/database.inc"-->

<%
Set objRs = Conn.Execute("SELECT COUNT(*) AS records FROM DLG.saelger;")
intRecords = int(objRs("records"))
objRs.Close
Set objRs = Nothing

intValue = (intRecords - intStart)
If intPageSize > intValue Then
intPageSize = intValue
end if

intPage = Request.QueryString("page")
if intPage = "" OR not isNumeric(intPage) then
    intPage = int(1)
else
    intPage = int(intPage)
end if

intPageSize = int(100)
intStart = intPage*intPageSize
intStart = intStart-intPageSize
intPages = int(intRecords/intPageSize)+1

SQL = "SELECT * FROM DLG.saelger WHERE " & Valg & " = '" & Query & "' LIMIT " & intStart & ", " & intPageSize & ";"
Response.write Sql
Set rs = Conn.Execute(SQL)
if rs.EOF or rs.BOF then
        Response.Write "Ingen poster"
    else
%>
<table>
</TD></TR>
  <table>
        <tr class="lightgrey">
        <td>Id</td>
        <td>Kundenummer</td>
        <td>Fornavne</td>
        <td>Efternavn</td>
        <td>Adresse</td>
        <td>Postnr.</td>
        <td>By</td>
        <td>Telefon</td>
        <td>Mobil</td>
        <td>Fastnet</td>
        <td>SælgerNr</td>
        </tr>
<%

For i = 1 to intPages
    if i = intPage then
        %>

        <tr>
        <td><%= rs("Id") %></td>
        <td><a href="rediger_kunde.asp?Id=<%= rs("Id") %>"><font color="#000000"><%= rs("Kundenr") %></font></a></td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;<a href="rediger_kunde.asp?Id=<%= rs("Id") %>"><font color="#000000"><%= rs("Mobil") %></td>
        <td>&nbsp;<a href="rediger_kunde.asp?Id=<%= rs("Id") %>"><font color="#000000"><%= rs("Fastnet") %></td>
        <td>&nbsp;<%= rs("Snr") %></td>
        </tr>
</table>
        <%
    else
        Response.Write "<a href=""find_kunde.asp?page=" & i & """>"
        Response.Write i
        Response.Write "</a> "
    end if
next
%>

<%
RS.Close
Set rs = Nothing
End IF
Conn.Close
Set Conn = Nothing
End If
%>

</BODY>
Avatar billede bredum Nybegynder
12. august 2002 - 19:46 #1
den melder ikke fejl, den viser første post og så en masse paging 1 - 133
Avatar billede keysersoze Ekspert
12. august 2002 - 19:46 #2
det er jo umuligt at sige!!!

sig hvad der sker eller ikke sker - eller hvilken fejlmeddelelse der kommer
Avatar billede bredum Nybegynder
12. august 2002 - 19:50 #3
se overstående :-)
Avatar billede medions Nybegynder
12. august 2002 - 19:54 #4
bredum> Ja, det er jo oxo det er pagingsystem skal gøre :o)

//>Rune
Avatar billede bredum Nybegynder
12. august 2002 - 20:04 #5
ja, men betyder intPageSize = int(100) ikke at den skal vise 100 poster ad gangen?? og når man trykker på næste post, vises der ikke noget
Avatar billede medions Nybegynder
12. august 2002 - 20:07 #6
Hmm er du sikker på at det er find_kunde.asp det er at dit pageing script ligger på?

//>Rune
Avatar billede bredum Nybegynder
12. august 2002 - 20:11 #7
ja jeg er. jeg fortår det heller ikke
Avatar billede bredum Nybegynder
12. august 2002 - 20:12 #8
jeg kan maile dig filen, det er tit næmmere at se i en fil, end i et forum
Avatar billede medions Nybegynder
12. august 2002 - 20:33 #9
:-) Så er jeg jo oxo nødt til at ha' fat i din MySQL db osv. ville det ik' blive for bøvlet?

//>Rune
Avatar billede coltau Juniormester
12. august 2002 - 20:35 #10
Hvis du vil lave paging med 100 poster på hver side - så kan jeg da godt se hvad der er galt.

Er det korrekt forstået. ?
Avatar billede bredum Nybegynder
12. august 2002 - 21:11 #11
ja.. det vil jeg meget gerne
Avatar billede bredum Nybegynder
12. august 2002 - 21:12 #12
lad mig høre hvad der er galt
Avatar billede coltau Juniormester
12. august 2002 - 21:19 #13
Med disse linier:
if rs.EOF or rs.BOF then
        Response.Write "Ingen poster"
    else

kontrollere du for om der overhovedet findes nogle poster - men hvis der findes nogle poster (else) udskriver du kun den første på den valgte side. (Page)
Der mangler en kørsel der køre posterne igennem. Noget i denne stil:

do while not rs.EOF
  ' her udskrives hver enkelt post

  rs.Next
loop

' Vis link til forrige og næste side.

Du behøver ikke disse linier:

For i = 1 to intPages
    if i = intPage then
osv ...

De er unødvendige fordi at dit sql-udtræk (med kommandoen LIMIT) altid kun indeholder netop de 100 poster på den valgte side. Derfor kan du blot lave en while-løkke og vise hele recordsættet.

Håber det hjælper lidt.
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