26. marts 2005 - 23:29
Der er
35 kommentarer og 1 løsning
Ændring af access forespørgselstabel til mysql
Hej eksperter Jeg er ved at konvertere fra Access til Mysql. I access har jeg brugt en forespørgselstabel, hvor jeg har haft mulighed for at bruge "Sorter". I access, SQL-visning resulterede det i denne kode: SELECT DISTINCTROW hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv FROM Uge INNER JOIN hus ON Uge.Hus = hus.id WHERE (((hus.IA) Is Null Or (hus.IA)="")) ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id; Den går bare ikke i mysql!!!! Det er "ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;", som går galt. Hvis jeg undlader at bruge "ORDER BY .." fremkommer det rigtige antal annoncer, f.eks. 10, men i forkert rækkefølge. Hvis jeg i stedet for bruger "ORDER BY hus.id" resulterer det i over 500 annoncer. Tabellen hus indeholder en sommerhusannonce, mens tabellen uge indeholder en udlejningskalender med 53 uger. Hvordan kan jeg i relation til mysql bruge "order by" rigtigt? Kan jeg ændre noget i databasen? På forhånd tak.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
27. marts 2005 - 09:43
#1
du kan ikke bruge DISTINCTROW i mySQL, så prøv bare at fjern det.
27. marts 2005 - 11:33
#2
I min mysql-version har jeg faktisk også slettet "row" i "DISTINCTROW". Har også prøvet helt at slette "DISTINCTROW", men med samme resultat. Hele problemet ligger i "ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;". Hvis ikke det er indsat, fremkommer det helt rigtige antal annoncer, men hvis jeg indsætter ORDER .... tager den alle annoncer 53 gange (hver annonce har 53 linier i tabellen Uge, udlejningskalender). Hvordan kan jeg bruge order by rigtigt i forhold til mysql og inner join?
28. marts 2005 - 13:36
#3
Hvad får du ud hvis du bare skriver: SELECT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv FROM Uge INNER JOIN hus ON Uge.Hus = hus.id WHERE (hus.IA Is Null) OR (hus.IA ="") ORDER BY Uge.Hus;
29. marts 2005 - 06:41
#4
Har nu prøvet, men hjælper desværre ikke
29. marts 2005 - 09:22
#5
hvad får du ud?
29. marts 2005 - 12:04
#6
Denne fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e21' ODBC driver does not support the requested properties. /testsgef2.asp, line 594
29. marts 2005 - 12:10
#7
hvirlen driver bruger du?
29. marts 2005 - 12:15
#8
Tænker du på dette (min forbindelsesfil til databasen)? <% SQLserveradr="xxx" SQLdatabase="xxx" SQLlogin="xxx" SQLpassword="xxx" Set Conn = Server.CreateObject("ADODB.Connection") conStr = "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase conStr = conStr & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=16386" Conn.Open conStr %>
29. marts 2005 - 12:23
#9
det er nok ikke der fejlen ligger, hvis du allerede har andre sider der bruger databasen gennem den connection. prøv lige uden is Null SELECT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv FROM Uge INNER JOIN hus ON Uge.Hus = hus.id WHERE hus.IA ="" ORDER BY Uge.Hus;
29. marts 2005 - 12:43
#10
Fortsat samme fejlmelding. Jeg har prøvet med flere varianter, som virker ok, men problemet ligger i, når jeg indsætter ORDER BY.
29. marts 2005 - 12:50
#11
det virker bare underligt, for mysql har normalt ingen problemer med at håndtere ORDER BY, det er derfor jeg er lidt ude efter at få den til at virke bare med et felt i order by
29. marts 2005 - 13:06
#12
Prøv dette link:
http://www.dansksommerhusudlejning.dk/test.asp Hvis du klikker på område 1, vises resultaterne jo fint - med denne sql:
SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _
"FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _
"WHERE (((hus.IA) Is Null Or (hus.IA)= '')) "
Hvis jeg indsætter ORDER BY, så koden er:
SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _
"FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _
"WHERE (((hus.IA) Is Null Or (hus.IA)= '')) " & _
"ORDER BY hus.id "
kan du ved klik på område 2 se, at den viser den 10.962 annoncer !
Jeg håber, at dette giver et bedre indblik. Vírkelig på forhånd tak for hjælpen :-)
29. marts 2005 - 13:13
#13
det er mig godt nok en gåde.
29. marts 2005 - 13:15
#14
Også her !!!
29. marts 2005 - 13:16
#15
Du får lige hele sidens koder, hvis det kan hjælpe: <html> <!--#include file="forb.asp"--> <head> <title>Dansksommerhusudlejning.dk</title> <META name="DESCRIPTION" content="Vi formidler den private sommerhusudlejning. Brug vores søgefunktion eller vælg område for at vælge blandt de over 200 private sommerhuse"> <META name="KEYWORDS" content="ferie, feriebolig, ferieboliger, bureauer, sommerhusbureauer, sommerhus, sommerhuse, sommerhusudlejning, sommerhusferie, fritidsbolig, leje, udleje, udlejning, Danmark, ferien, ferienhaus, ferienhäuser, Dänemark, Denmark, summerhouse, sommerhaus, vermietung, sommerhausvermietung, ferienwohnung, ferienwohnungen, luxusferienhaus, luxusferienhäuser, spahaus, swimmingpoolhaus"> <style> <!-- a{text-decoration:none} //--> </style> <style fprolloverstyle>A:hover {color: #E87400; font-weight: bold}</style> </head> <body background="stribet_graa.gif" link="#000000" vlink="#000000" alink="#000000"> <p align="left"> <% '//Paging funktion Function Page(iStart, total, iOffset, iStop) Response.Write "<table border=0 width='100%'><tr>" If iStart > 0 then 'Vis Forrige link Response.Write "<td width='20%' align='left'><font face='Arial' size=""3""><A HREF=""?iStart=" & iStart-iOffset & _ "&iOffset=" & iOffset & """>Forrige</A></font></td>" Else Response.Write "<td width='20%'> </td>" End if antalsider = total / iOffset Response.Write "<td width='60%' align='center'><font face='Arial' size=""3"">" For i = 0 to antalsider If Clng(i * iOffset) = Clng(iStart) then Response.Write "<A HREF=""?iStart=" & iOffset * i & _ "&iOffset=" & iOffset & """><u>" & i + 1 & "</u> </A>" Else Response.Write "<A HREF=""?iStart=" & iOffset * i & _ "&iOffset=" & iOffset & """>" & i + 1 & " </A>" End if Next Response.Write "</font></td>" If iStop < total then 'Vis næste link Response.Write "<td width='20%' align='right'><font face='Arial' size=""3""><A HREF=""?iStart=" & iStart+iOffset & _ "&iOffset=" & iOffset & """>Næste</A></font></td>" Else Response.Write "<td width='20%'> </td>" End if End Function Sub SkrivHusTabel(id, HusLink, overskrift, annoncetekst) With Response .Write "<table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""400"" height=""66"" style='border: 1 solid #000000'>" .Write "<tr>" .Write "<td valign=""middle"" align=""center"" width=""100"" style='border-right: 1 solid #000000'>" if Len(HusLink) = 0 Then .Write "<a href=""#"" onClick=""MyWindow=window.open('Hus.asp?Id=" & id & "','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=700,height=620'); return false;""><img border=""0"" alt='" & overskrift & "' title='" & overskrift & "' src=""" & foto4 & """ width=""100"" height=""66""></a>" Else .Write "<A HREF ='" & HusLink & "' TARGET=""_blank""><img border=""0"" alt='" & overskrift & "' title='" & overskrift & "' src=""" & foto4 & """ width=""100"" height=""66""></a>" end if .Write "</td>" .Write "<td valign=""top"" align=""left"" width=""240"" style='padding-left: 3; padding-right: 3; padding-top: 2'>" .Write "<p align=""left"">" .Write "<font face=""Arial"" size=""3""><b>" & overskrift & "</b></font><br>" .Write "<font face=""Arial"" size=""2"">" & annoncetekst & "</font>" .Write "</p>" .Write "</td>" .Write "<td valign=""middle"" align=""center"" width=""60"" bgcolor=""#DFDFDF"" style='border-left: 1 solid #000000'>" if Len(HusLink) = 0 Then Response.write "<a href=""#"" alt='" & overskrift & "' title='" & overskrift & "' onClick=""MyWindow=window.open('Hus.asp?Id=" & id & "','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=700,height=620'); return false;""><font face=""Arial"" color=""#E87400"" size=""3""><b>Info</b></font></a>" Else Response.write "<A HREF ='" & HusLink & "' TARGET=""_blank"" alt='" & overskrift & "' title='" & overskrift & "'><font face='Arial' color='#E87400' size='3'><b>Info</b></font></a>" end if .Write "</td></tr></table>" End With End Sub Response.Expires = -1 Pris = Request.QueryString("Pris") Spa = Request.QueryString("Spa") Vaske = Request.QueryString("Vaske") Pool = Request.QueryString("Pool") OP = Request.QueryString("Op") Hus = Request.QueryString("Hus") Bo = Request.QueryString("Bo") ap = Request.QueryString("AP") if ap = "Uvæsentlig" Then ap = 1 End if if ap = "over 8" Then ap = 8 End if uge = Request.QueryString("Uge") if uge = "Uvæsentlig" then uge = 0 End if amtfl = 0 alle = Request.QueryString("alle") if alle = "ON" Then amtfl = 1 end if o1 = Request.QueryString("o1") if o1 = "ON" Then amtfl = 1 end if o2 = Request.QueryString("o2") if o2 = "ON" Then amtfl = 2 end if o3 = Request.QueryString("o3") if o3 = "ON" Then amtfl = 3 end if o4 = Request.QueryString("o4") if o4 = "ON" Then amtfl = 4 end if o5 = Request.QueryString("o5") if o5 = "ON" Then amtfl = 1 end if o6 = Request.QueryString("o6") if o6 = "ON" Then amtfl = 1 end if o7 = Request.QueryString("o7") if o7 = "ON" Then amtfl = 1 end if o8 = Request.QueryString("o8") if o8 = "ON" Then amtfl = 1 end if o9 = Request.QueryString("o9") if o9 = "ON" Then amtfl = 1 end if o10 = Request.QueryString("o10") if o10 = "ON" Then amtfl = 1 end if o11 = Request.QueryString("o11") if o11 = "ON" Then amtfl = 1 end if o12 = Request.QueryString("o12") if o12 = "ON" Then amtfl = 1 end if o13 = Request.QueryString("o13") if o13 = "ON" Then amtfl = 1 end if o14 = Request.QueryString("o14") if o14 = "ON" Then amtfl = 1 end if o15 = Request.QueryString("o15") if o15 = "ON" Then amtfl = 1 end if o16 = Request.QueryString("o16") if o16 = "ON" Then amtfl = 1 end if o17 = Request.QueryString("o17") if o17 = "ON" Then amtfl = 1 end if o18 = Request.QueryString("o18") if o18 = "ON" Then amtfl = 1 end if o19 = Request.QueryString("o19") if o19 = "ON" Then amtfl = 1 end if o20 = Request.QueryString("o20") if o20 = "ON" Then amtfl = 1 end if o21 = Request.QueryString("o21") if o21 = "ON" Then amtfl = 1 end if o22 = Request.QueryString("o22") if o22 = "ON" Then amtfl = 1 end if o23 = Request.QueryString("o23") if o23 = "ON" Then amtfl = 1 end if o24 = Request.QueryString("o24") if o24 = "ON" Then amtfl = 1 end if o25 = Request.QueryString("o25") if o25 = "ON" Then amtfl = 1 end if o26 = Request.QueryString("o26") if o26 = "ON" Then amtfl = 1 end if o27 = Request.QueryString("o27") if o27 = "ON" Then amtfl = 1 end if o28 = Request.QueryString("o28") if o28 = "ON" Then amtfl = 1 end if o29 = Request.QueryString("o29") if o29 = "ON" Then amtfl = 1 end if If (amtfl = 0 and session("fl2") = 0) then Response.Redirect("intetamt.asp") Response.end End if '--------------------- 'PAGING VARIABLE START '--------------------- Dim iStart, iOffset iStart = Request.QueryString("iStart") 'iOffset angiver hvor mange huse pr. side iOffset = 4 'denne kan lægges ud til brugeren at bestemme hvormange han/hun gerne vil have vist pr. side. If Not IsNumeric(iStart) Or Len(iStart) = 0 Or iStart < 0 then iStart = 0 Else iStart = CInt(iStart) End if If Not IsNumeric(iOffset) or Len(iOffset) = 0 then iOffset = 4 Else iOffset = CInt(iOffset) End if '-------------------- 'PAGING VARIABLE SLUT '-------------------- fl = 0 if session("fl2") = 1 Then sql = session("SQL") Else SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _ "FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _ "WHERE (((hus.IA) Is Null Or (hus.IA)= '')) " & _ "ORDER BY hus.id " if not uge = "Uvæsentlig" Then sql = sql & " AND uge = " & uge & " " End if if Antalp = "Uvæsentlig" then sql = sql & " AND Antalp >" & 1 & " " Else sql = sql & "AND Antalp >=" & AP & " " end if if not Pris = "Uvæsentlig" then sql = sql & "AND pris1 <=" & Pris & " " end if if not alle = "ON" Then sql = sql & " AND(" End if if o1 = "ON" Then if fl = 0 then sql = sql & "amt = 'o1'" fl = 1 else sql = sql & "or amt = 'o1'" fl = 1 End if End if if o2 = "ON" Then if fl = 0 then sql = sql & "amt = 'o2'" fl = 1 else sql = sql & "or amt = 'o2'" fl = 1 End if End if If o2 = "ON" Then If fl = 0 then sql = sql & " OR amt = 'o2'" fl = 1 Else sql = sql & "OR amt = 'o2'" fl = 1 End if End if if o3 = "ON" Then if fl = 0 then sql = sql & "amt = 'o3'" fl = 1 else sql = sql & "or amt = 'o3'" fl = 1 End if End if if o4 = "ON" Then if fl = 0 then sql = sql & "amt = 'o4'" fl = 1 else sql = sql & "or amt = 'o4'" fl = 1 End if End if if o5 = "ON" Then if fl = 0 then sql = sql & "amt = 'o5'" fl = 1 else sql = sql & "or amt = 'o5'" fl = 1 End if End if if o6 = "ON" Then if fl = 0 then sql = sql & "amt = 'o6'" fl = 1 else sql = sql & "or amt = 'o6'" fl = 1 End if End if if o7 = "ON" Then if fl = 0 then sql = sql & "amt = 'o7'" fl = 1 else sql = sql & "or amt = 'o7'" fl = 1 End if End if if o8 = "ON" Then if fl = 0 then sql = sql & "amt = 'o8'" fl = 1 else sql = sql & "or amt = 'o8'" fl = 1 End if End if if o9 = "ON" Then if fl = 0 then sql = sql & "amt = 'o9'" fl = 1 else sql = sql & "or amt = 'o9'" fl = 1 End if End if if o10 = "ON" Then if fl = 0 then sql = sql & "amt = 'o10'" fl = 1 else sql = sql & "or amt = 'o10'" fl = 1 End if End if if o11 = "ON" Then if fl = 0 then sql = sql & "amt = 'o11'" fl = 1 else sql = sql & "or amt = 'o11'" fl = 1 End if End if if o12 = "ON" Then if fl = 0 then sql = sql & "amt = 'o12'" fl = 1 else sql = sql & "or amt = 'o12'" fl = 1 End if End if if o13 = "ON" Then if fl = 0 then sql = sql & "amt = 'o13'" fl = 1 else sql = sql & "or amt = 'o13'" fl = 1 End if End if if o14 = "ON" Then if fl = 0 then sql = sql & "amt = 'o14'" fl = 1 else sql = sql & "or amt = 'o14'" fl = 1 End if End if if o15 = "ON" Then if fl = 0 then sql = sql & "amt = 'o15'" fl = 1 else sql = sql & "or amt = 'o15'" fl = 1 End if End if if o16 = "ON" Then if fl = 0 then sql = sql & "amt = 'o16'" fl = 1 else sql = sql & "or amt = 'o16'" fl = 1 End if End if if o17 = "ON" Then if fl = 0 then sql = sql & "amt = 'o17'" fl = 1 else sql = sql & "or amt = 'o17'" fl = 1 End if End if if o18 = "ON" Then if fl = 0 then sql = sql & "amt = 'o18'" fl = 1 else sql = sql & "or amt = 'o18'" fl = 1 End if End if if o19 = "ON" Then if fl = 0 then sql = sql & "amt = 'o19'" fl = 1 else sql = sql & "or amt = 'o19'" fl = 1 End if End if if o20 = "ON" Then if fl = 0 then sql = sql & "amt = 'o20'" fl = 1 else sql = sql & "or amt = 'o20'" fl = 1 End if End if if o21 = "ON" Then if fl = 0 then sql = sql & "amt = 'o21'" fl = 1 else sql = sql & "or amt = 'o21'" fl = 1 End if End if if o22 = "ON" Then if fl = 0 then sql = sql & "amt = 'o22'" fl = 1 else sql = sql & "or amt = 'o22'" fl = 1 End if End if if o23 = "ON" Then if fl = 0 then sql = sql & "amt = 'o23'" fl = 1 else sql = sql & "or amt = 'o23'" fl = 1 End if End if if o24 = "ON" Then if fl = 0 then sql = sql & "amt = 'o24'" fl = 1 else sql = sql & "or amt = 'o24'" fl = 1 End if End if if o25 = "ON" Then if fl = 0 then sql = sql & "amt = 'o25'" fl = 1 else sql = sql & "or amt = 'o25'" fl = 1 End if End if if o26 = "ON" Then if fl = 0 then sql = sql & "amt = 'o26'" fl = 1 else sql = sql & "or amt = 'o26'" fl = 1 End if End if if o27 = "ON" Then if fl = 0 then sql = sql & "amt = 'o27'" fl = 1 else sql = sql & "or amt = 'o27'" fl = 1 End if End if if o28 = "ON" Then if fl = 0 then sql = sql & "amt = 'o28'" fl = 1 else sql = sql & "or amt = 'o28'" fl = 1 End if End if if o29 = "ON" Then if fl = 0 then sql = sql & "amt = 'o29'" fl = 1 else sql = sql & "or amt = 'o29'" fl = 1 End if End if if not Alle = "ON" Then sql = sql & ")" End if Session("fl2") = 1 End if if Spa = "ON" Then sql = sql & "and (spa = 'checked')" End if if Pool = "ON" Then sql = sql & "and (Pool = 'checked')" End if if Vaske = "ON" Then sql = sql & "and (Vaske = 'checked')" End if if OP = "ON" Then sql = sql & "and (Opvask = 'checked')" End if if Hus = "ON" Then sql = sql & "and (Husdyr = 'checked')" End if if Bo = "ON" Then sql = sql & " and (Brovn = 'checked')" End if sql = sql & " and (Ledigt = 'checked')" 'smider lige sql'en i en session Session("SQL") = sql 'Åben basen Set objRS = Server.CreateObject("ADODB.Recordset") objrs.open sql, conn, 1, 3 If objrs.EOF And objrs.BOF Then Response.Redirect "ingenposter.asp" End if arrayHuse = objRS.GetRows() total = Ubound(arrayHuse, 2) 'totalt antal af huse indenfor kriterierne %> <p align="left"><!-- #include virtual="overstemenu.asp"--></p> <p align="center"> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" width="740" height="450" bordercolor="#000000"> <tr> <td valign="top" align="left" width="125" height="428"> <!-- #include virtual="venstremenu.asp"--> </td> <td valign="top" align="left" width="490" height="428"> <div align="center"> <table border="0" cellpadding="0" cellspacing="0" width="425" height="440" style="border: 1 solid #132537" bgcolor="#FFFFFF"> <tr> <td height="421" valign="top" align="left" style="padding-left: 10; padding-right: 10; padding-top: 5"> </center> <div align="center"> <% '---------------- ' start paging '---------------- dim iStop If total + 1 > (iOffset + iStart) Then iStop = iOffset + iStart - 1 Else iStop = total End If 'alle numre er minus 1 '(1)hus.Overskrift '(2)hus.Op '(3)hus.Antalp '(4)Uge.Hus '(5)Uge.uge '(6)Uge.Ledigt '(7)Uge.Pris1 '(8)Uge.Pris2 '(9)Uge.Lm '(10)Uge.Pris3 '(11)Uge.Pris4 '(12)hus.Grundareal '(13)hus.Husets '(14)hus.Vr '(15)hus.Afi '(16)hus.Ass '(17)hus.Parabol '(18)hus.Stereo '(19)hus.Telefon '(20)hus.tv '(21)hus.Video '(22)hus.Barnestol '(23)hus.Kedel '(24)hus.emh '(25)hus.Fryser '(26)hus.Kaffe '(27)hus.Komfur '(28)hus.kl '(29)hus.Micro '(30)hus.Opvask '(31)hus.Bruser '(32)hus.Sauna '(33)hus.Sol '(34)hus.Spa '(35)hus.Brovn '(36)hus.El '(37)hus.Husdyr '(38)hus.Pool '(39)hus.Stsuger '(40)hus.Tumbler '(41)hus.Vaske '(42)hus.Carport '(43)hus.Cykler '(44)hus.Grill '(45)hus.Have '(46)hus.Terrasse '(47)hus.Foto '(48)hus.Beskr '(49)hus.Ejer '(50)hus.Ann '(51)hus.Amt '(52)hus.Lann '(53)hus.Link '(54)hus.IA '(55)hus.Rk '(56)hus.id '(57)hus.tann '(58)hus.tbeskriv '(59)hus.eann '(60)hus.ebeskriv For i = iStart to iStop amt = Right(arrayHuse(50, i), Len(arrayHuse(50, i)) - 1) 'klipper områdenummeret til således "O"'et forsvinder id = arrayHuse(55, i) HusLink = arrayHuse(52, i) overskrift = Server.HTMLEncode(arrayHuse(0, i)) annoncetekst = Server.HTMLEncode(arrayHuse(49, i)) foto4 = id & "/1.jpg" 'skriver tabellen med et item (hus) Call SkrivHusTabel(id, HusLink, overskrift, annoncetekst) 'mellemrum mellem tabellerne Response.Write "<br>" Next Response.write "</P>" 'skriver pagingen altså side 1 2 3 4 osv. 'variablerne brugt er iStart = starttallet for siden, total = antallet af items, iOffset = items pr. side 'iStop = hvor langt skal der vises til Call Page(iStart, total, iOffset, iStop) 'skriver total antallet af huse i området Response.Write "</tr><tr><td colspan='3'><font face='Arial' size=""3"">" & total + 1 & " sommerhuse ialt</font></td></tr></table>" %> </div> </td> </tr> </table> </div> </td> <td valign="top" align="left" width="125" height="428"> <!-- #include virtual="hojremenu.asp"--> </td> </tr> </table> </div> </body> </html>
29. marts 2005 - 13:29
#16
det der undre mig er at der ikke i denne sætning, der virker, er noget sted hvor du viser at der er tale om distrekt 1 SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _ "FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _ "WHERE (((hus.IA) Is Null Or (hus.IA)= '')) "
29. marts 2005 - 13:32
#17
Området bestemmes direkte i linket eller gennem markering i søgefunktionen. Området ligger i hus.amt.
29. marts 2005 - 14:11
#18
så uanset hvilket område man vælger, så henter den samtlige huse ud?
29. marts 2005 - 14:18
#19
Ja - henter dem ud ca. 54 gange hver. Hver annonce har 54 linier i tabellen Uge (udlejningskalender)
29. marts 2005 - 14:36
#20
Hvis jeg læser din kode rigtigt, så ser det ud som om du sætter en masse AND sætninger på din sqlstreng, er det rigtigt? Ken du ikke lige prøve at skrive din sql streng ud, ved at skrive følgende: 'objrs.open sql, conn, 1, 3 response.write sql response.end Det burde selvfølgelig ikke være der problemet er, hvis det virker med access, men man kan jo aldrig vide.
29. marts 2005 - 14:53
#21
Jeg har ikke selv lavet kodningen, så jeg ved ikke helt med på det med AND! Strengen ser sådan ud: SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv FROM Uge INNER JOIN hus ON Uge.Hus = hus.id WHERE (((hus.IA) Is Null Or (hus.IA)= '')) ORDER BY hus.id AND uge = 0 AND Antalp >=1 AND(amt = 'o1') and (Ledigt = 'checked') Findes ved klik på område 2
29. marts 2005 - 14:56
#22
så er det mere klart hvor for du får problemer din ORDER BY kommer jo til at se således ud: ORDER BY hus.id AND uge = 0 AND Antalp >=1 AND(amt = 'o1') and (Ledigt = 'checked') alt efter hus.id burde jo stå i din WHERE sætning Virkede det i ACCESS?
29. marts 2005 - 15:01
#23
Det var kodet anderledes i access. Her brugte jeg en forespørgselstabel, hvor koden så således ud: <% fl = 0 if session ("fl2") = 1 Then SQL = session("SQL") Else Sql = "" Sql = "Select id, foto, op, antalp, grundareal, vr, Beskr, ann, Overskrift, amt, uge, link, Ledigt From hus2 where " if uge = "Uvæsentlig" Then sql = sql Else sql = sql & " uge = " & uge & " " End if if Antalp = "Uvæsentlig" then sql = sql & "Antalp >" & 1 & " " Else sql = sql & "and Antalp >=" & AP & " " end if if Pris = "Uvæsentlig" then 'sql = sql & "and Pris1 <=" & 0 & " " Else sql = sql & "and pris1 <=" & Pris & " " end if ...
29. marts 2005 - 15:02
#24
for at afhjælpe dit problem, skal du prøve at gøre følgende: Ret din sql til følgende: SQL = "SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv " & _ "FROM Uge INNER JOIN hus ON Uge.Hus = hus.id " & _ "WHERE hus.IA Is Null OR hus.IA= '' " Derefter skriver du følgendde lige over der hvor du eksekvere din sql streng: sql = sql & " ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;"
29. marts 2005 - 15:04
#25
hvis det fejler, så prøv lige at skriv din sql ud igen, som du gjorde sidst.
29. marts 2005 - 15:09
#26
Jeg må blankt indrømme, at jeg ikke helt ved, hvor sql-strengen eksekveres?
29. marts 2005 - 15:15
#27
det gør den her: objrs.open sql, conn, 1, 3
29. marts 2005 - 15:18
#28
Det var faktisk også, hvad jeg efterfølgende har prøvet, så linierne er:
objrs.open sql, conn, 1, 3
sql = sql & " ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;"
Det ændrer bare ikke ved noget. Hvis du prøver at klikke på område 18 på
http://www.dansksommerhusudlejning.dk/test.asp skal annonce nr. 4 f.eks. være til aller sidst, da højeste id-nr.
29. marts 2005 - 15:18
#29
Strengen er: SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv FROM Uge INNER JOIN hus ON Uge.Hus = hus.id WHERE (((hus.IA) Is Null Or (hus.IA)= '')) AND uge = 0 AND Antalp >=1 AND(amt = 'o18') and (Ledigt = 'checked') ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;
29. marts 2005 - 15:20
#30
du skulle også skrive det lige over der hvor du eksekvere koden :-) det hjælper jo ikke noget at rette din sql efter du har eksekveret den: sql = sql & " ORDER BY Uge.Hus, Uge.uge, hus.Amt, hus.id;" objrs.open sql, conn, 1, 3
29. marts 2005 - 15:21
#31
og så kan jeg se du ikke har rettet den første SQL streng til jeg skrev.
29. marts 2005 - 15:23
#32
du kan også rette den til: SELECT DISTINCT hus.Overskrift, hus.Op, hus.Antalp, Uge.Hus, Uge.uge, Uge.Ledigt, Uge.Pris1, Uge.Pris2, Uge.Lm, Uge.Pris3, Uge.Pris4, hus.Grundareal, hus.Husets, hus.Vr, hus.Afi, hus.Ass, hus.Parabol, hus.Stereo, hus.Telefon, hus.tv, hus.Video, hus.Barnestol, hus.Kedel, hus.emh, hus.Fryser, hus.Kaffe, hus.Komfur, hus.kl, hus.Micro, hus.Opvask, hus.Bruser, hus.Sauna, hus.Sol, hus.Spa, hus.Brovn, hus.El, hus.Husdyr, hus.Pool, hus.Stsuger, hus.Tumbler, hus.Vaske, hus.Carport, hus.Cykler, hus.Grill, hus.Have, hus.Terrasse, hus.Foto, hus.Beskr, hus.Ejer, hus.Ann, hus.Amt, hus.Lann, hus.Link, hus.IA, hus.Rk, hus.id, hus.tann, hus.tbeskriv, hus.eann, hus.ebeskriv FROM Uge INNER JOIN hus ON Uge.Hus = hus.id WHERE (hus.IA Is Null) OR (hus.IA = '')
29. marts 2005 - 15:24
#33
Jeg prøvede først at rette til din foreslåede streng, men det gav 220 annoncer i stedet for de rigtige 6 - derfor prøvet at rette tilbage. Det er vist også lige meget for jeg tror at det virker :-) :-) :-) :-) :-) Tester lige lidt mere Din hjælp har virkelig været helt suveræn
29. marts 2005 - 15:29
#34
jeg venter med spænding.
29. marts 2005 - 15:31
#35
Det virker :-) Det er virkelige super. Igen mange tak for hjælpen.
29. marts 2005 - 15:35
#36
Det er godt at høre. Det var så lidt. Tak for point.
Kurser inden for grundlæggende programmering