Avatar billede psylenz Nybegynder
22. september 2002 - 15:22 Der er 23 kommentarer og
1 løsning

oversættelse

Jeg har et access script som jeg skal have lavet om til mysql:

<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM scripts"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../db/database.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
    Do While Not rs.EOF And intRecCount > 0
    %>

'Det som kommer ud af databasen
       
        <%
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing

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

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=scripts.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
Else
    Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=scripts.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If
%>
Avatar billede sth Novice
22. september 2002 - 17:12 #1
Det du har brugfor er noget i stil "Paging med mySQL og Limit"

http://activedeveloper.dk/aspdigital/2001112301.asp
Avatar billede psylenz Nybegynder
22. september 2002 - 17:16 #2
er det ligesom den på activedeveloper som er med access?
Avatar billede sth Novice
22. september 2002 - 17:38 #3
Både ja og nej, jo linket er til activedeveloper men det er til MySql

Fidusen er at mySQL har en smart funktion indbygget, nemlig Limit
jeg bruger den selv på en af mine sider, og det virker rigtig godt.
Avatar billede psylenz Nybegynder
22. september 2002 - 17:41 #4
det er ikke så godt som den udgave jeg har, den skriver kun side tallene, kan du ikke lave min kode om til mysql?
Avatar billede sth Novice
22. september 2002 - 17:56 #5
Det er ikke det samme, men du skal selvf. lige huske at vise de felter du har i din tabel, send mige lige nogle pålysninger
1. hvad heder din tabel
2. hvilke felter har du

I det kode du har vedlagt til dit spørgsmål, står der

'Det som kommer ud af databasen


Her vil jeg forvente at du selv skal udfylde noget.

Nå men send mig ovenstående oplysninger, og jeg skal se hvad jeg kan gøre
Avatar billede psylenz Nybegynder
22. september 2002 - 18:00 #6
tabel = mail

mail:
id - primær nøgle
email - tekst
Avatar billede psylenz Nybegynder
22. september 2002 - 18:02 #7
jeg kigger efter jeg har spist
Avatar billede sth Novice
22. september 2002 - 18:03 #8
Ok her er den så:


filen skal hede: paging.asp

øverst i koden står der:
    SQLserveradr="din_ip-adresse/evt_localhost"
    SQLdatabase="Din_database"   
    SQLlogin="din_login"
    SQLpassword="dit_password"

dette skal du lige rette så det passer til dig.

Koden er:


<%
'Opretter Connection

    SQLserveradr="din_ip-adresse/evt_localhost"
    SQLdatabase="Din_database"   
    SQLlogin="din_login"
    SQLpassword="dit_password"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase &";uid="& SQLlogin &";pwd="& SQLpassword



'Først skal vi have antallet af poster
Set objRs = Conn.Execute("SELECT COUNT(*) AS records FROM mail;")
intRecords = int(objRs("records"))
objRs.Close
Set objRs = Nothing

'Variabler til query´et
intPage = Request.QueryString("page")
if intPage = "" OR not isNumeric(intPage) then
    intPage = int(1)
else
    intPage = int(intPage)
end if
intPageSize = int(5)
intStart = intPage*intPageSize
intStart = intStart-intPageSize
intPages = int(intRecords/intPageSize)+1

Set objRs = Conn.Execute("SELECT * FROM mail LIMIT " & intStart & ", " & intPageSize & ";")
   
    if objRs.EOF or objRs.BOF then
        Response.Write "Ingen poster"
    else
        Response.Write "<table border=""1"" cellpadding=""3"">"
            Response.Write "<tr>"
                Response.Write "<td><b>id</b></td>"
                Response.Write "<td><b>Mail</b></td>"
            Response.Write "</tr>"
               
            Do until objRs.EOF
                Response.Write "<tr>"
                    Response.Write "<td>" & objRs("id") & "</td>"
                    Response.Write "<td><a href=""" & objRs("email ") & """>" & objRs("email ") & "</a></td>"
                Response.Write "</tr>"
            objRs.MoveNext
            Loop
        Response.Write "</table>"
    end if

objRs.Close
Set objRs = Nothing

'Udskriver en "sideliste"
For i = 1 to intPages
    if i = intPage then
        Response.Write "<b>" & i & "</b> "
    else
        Response.Write "<a href=""paging.asp?page=" & i & """>"
        Response.Write i
        Response.Write "</a> "
    end if
next

Conn.Close
Set Conn = Nothing
%>
Avatar billede psylenz Nybegynder
22. september 2002 - 18:53 #9
jeg prøver men nu skal jeg i kirke
Avatar billede sth Novice
22. september 2002 - 19:01 #10
Søndag aften ?
Avatar billede psylenz Nybegynder
22. september 2002 - 21:10 #11
nu er jeg her igen jeg prøver nu

ja det er aftens gudtjeneste

jeg skal konfimeres, jo
Avatar billede psylenz Nybegynder
22. september 2002 - 21:13 #12
jeg får denne fejl

ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.

/view.asp, line 90
Avatar billede psylenz Nybegynder
22. september 2002 - 21:31 #13
den kode er jo den på activede.... jeg vil have min kode omskrevet
Avatar billede sth Novice
23. september 2002 - 00:46 #14
ja man den er jo omskrevet til MySql !!

Der er kun  65 linier i den kode jeg har givet dig, og i den fejl du får er der åbenbart mindst 90 linier, hvis du ønsker at teste min kode skal du kalde filen for "paging.asp"
Avatar billede psylenz Nybegynder
23. september 2002 - 13:30 #15
i den mysql kode står der kun siderne og ikke alt det mit scripts kan

de 90 linier er fordi det er i et af mine dokumenter
Avatar billede sth Novice
23. september 2002 - 18:20 #16
Prøv nu lige at bruge min kode og kand siden paging.asp, så kommer der både ID og mail felterne med ud, når du så har det til at virke kan du jo latid tilpasse det til dit behov
Avatar billede sth Novice
23. september 2002 - 18:24 #17
i den kode du har lagt her kommer der da ikke andet en siderne, jeg fatter ikke helt din begrundelse for ikke at afprøve det du modtager
Avatar billede psylenz Nybegynder
24. september 2002 - 18:15 #18
jo der står også
<< >> ( næste side )
og så står der side /antal/ af /antal

jeg lukker
Avatar billede sth Novice
24. september 2002 - 20:00 #19
Det er bare ikke godt nok !!!
I den kode du har postet er der ikke vist data fra din tabel !
Hvis den gør det kunne du så ikke lige vise mig hvor ?
Hvis det du ønsker at << og  >> så er det da bare at indsætte disse linier i den kode jeg har vedlagt, det har jo intet med mysql at gøre.


jeg har krav på de 60 point da jeg 100% har løst din opgave, opgaven var "Jeg har et access script som jeg skal have lavet om til mysql"

Den kode jeg har postet her er testet og er ok, og så har du da bare at smide de point til mig.

Jeg forventer at høre fra dig, da du ellers må forvente at blive anmelt til admin, dette er ikke en måde at opføre sig på, da:
1. du tester ikke den kode du får leveret.
2. du opretter samme spørgsmål 2 gange.
3. du "betaler" ikke for den vare du får leveret.

mvh sth
Avatar billede sth Novice
24. september 2002 - 20:30 #20
Hvis det er et spørgsmål om at du ønsker at få >> << vist også, så er koden her.

<%


    SQLserveradr="din_ip-adresse/evt_localhost"
    SQLdatabase="Din_database"   
    SQLlogin="din_login"
    SQLpassword="dit_password"



Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase &";uid="& SQLlogin &";pwd="& SQLpassword



'Først skal vi have antallet af poster
Set objRs = Conn.Execute("SELECT COUNT(*) AS records FROM mail;")
intRecords = int(objRs("records"))
objRs.Close
Set objRs = Nothing

'Variabler til query´et
intPage = Request.QueryString("page")
if intPage = "" OR not isNumeric(intPage) then
    intPage = int(1)
else
    intPage = int(intPage)
end if
intPageSize = int(3)
intStart = intPage*intPageSize
intStart = intStart-intPageSize
intPages = int(intRecords/intPageSize)+1

Set objRs = Conn.Execute("SELECT * FROM mail LIMIT " & intStart & ", " & intPageSize & ";")
   
    if objRs.EOF or objRs.BOF then
        Response.Write "Ingen poster"
    else
        Response.Write "<table border=""1"" cellpadding=""3"">"
            Response.Write "<tr>"
                Response.Write "<td><b>id</b></td>"
                Response.Write "<td><b>Mail</b></td>"
            Response.Write "</tr>"
               
            Do until objRs.EOF
                Response.Write "<tr>"
                    Response.Write "<td>" & objRs("id") & "</td>"
                    Response.Write "<td>" & objRs("email") & "</a></td>"
                Response.Write "</tr>"
            objRs.MoveNext
            Loop
        Response.Write "</table>"
    end if

objRs.Close
Set objRs = Nothing

        If intPage <> 1 Then 
        Response.Write "<a href=paging.asp?page=" & intPage -1 & ">&lt;&lt;&nbsp;</a>"

        Else
            Response.Write "&lt;&lt;&nbsp;"
        End If
           
For i = 1 to intPages

   
    if i = intPage then
   
        Response.Write "<b>" & i & "</b> "
    else
        Response.Write "<a href=""paging.asp?page=" & i & """>"
        Response.Write i
        Response.Write "</a> "
    end if
next

            If Clng(intPage) < Clng(intPages) Then
            Response.Write "<a href=paging.asp?page=" & intPage +1 & ">&nbsp;&gt;&gt;</a> "
            Else
            Response.Write "&nbsp;&gt;&gt;"
            End If

Conn.Close
Set Conn = Nothing
%>
Avatar billede psylenz Nybegynder
25. september 2002 - 17:10 #21
sth, giv mig lige din e-mail for så kan jeg lige forklare/spørge dig om noget
Avatar billede sth Novice
26. september 2002 - 21:22 #22
sth@halstat.dk
Avatar billede sth Novice
26. september 2002 - 21:22 #23
Men bare lige så du ved det så mener jeg at du skylder mig 60 point :)
Avatar billede sth Novice
29. september 2002 - 21:24 #24
Hvaaaaa er du der, eller har du bare tænkt dig at tage de point selv ?
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