webForumDet fria alternativet

Varför visas inga resultat?

ASP

17 svar · 276 visningar · startad av Lazerzubb

Medlem sedan mars 2000542 inlägg
Frågan#1

Jag får inga resultat här även om min "kan ej vara korrekt" a kod som räknar antal träffar visar att det finns träffar, och jag vet att det ska finnas träffar.

Mvh.

<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=databas.mdb"
If Request.Form("city") <> "" Then
SQL = "SELECT * From star WHERE province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%' AND price BETWEEN '" & Request.Form("LPrice")& "%' AND '" & Request.Form("HPrice")&_
 "%' AND bedr BETWEEN '" & Request.Form("beds")& "%' AND '" & Request.Form("bedsh")&_
 "%' AND bathr BETWEEN '" & Request.Form("baths")& "%' AND '" & Request.Form("bathsh")&_
 "%' AND htype LIKE '" & Request.Form("typ")&_
 "%' AND term LIKE '" & Request.Form("rental")&_
 "%' ORDER BY price DESC"

set rs=Connect.Execute(SQL)

mSQL = "SELECT COUNT(*) from star where city LIKE '%" & Request.Form("City") & "%' AND htype LIKE '" & Request.Form("typ")&_
 "%' OR province LIKE '" & Request.Form("City")& "%' AND htype LIKE '" & Request.Form("typ")&_
 "%' AND term LIKE '" & Request.Form("rental")& "%'"

set rs1=Connect.Execute(mSQL)
%>
Your 
      search returned 
      <B><% Response.write RS1(0) %></B>
      <%
if not rs.eof then
do until rs.eof
%>
<table width="57%" border="0" cellspacing="0" cellpadding="0" height="18">
  <tr> 
    <td width="17%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<IMG SRC="picture5.gif" alt="" border="0">
    </td>
    <td width="27%"><font face="Verdana" size="1"><%=rs("City")%><BR><%=rs("Province")%></font></td>
    <td width="12%"><font face="Verdana" size="1"><%=rs("bedr")%></font></td>
    <td width="10%"><font face="Verdana" size="1"><%=rs("bathr")%></font></td>
    <td width="14%"><font face="Verdana" size="1"><%=rs("htype")%></font></td>
    <td width="20%"><font face="Verdana" size="1">&nbsp;&euro;<%=rs("price")%></font></td>
  </tr>
</table>
      
<table width="57%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><img src="line.gif" width="560" height="1"></td>
  </tr>
</table>
<br>
<%rs.movenext
loop
end if
else
%>
Hittade inget. 
<%
end if

rs.close
set rs=Nothing
Connect.close
set connect=nothing

%>
Medlem sedan dec. 200012 464 inlägg
#2
SQL = "SELECT * From star WHERE (province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%') AND price BETWEEN '" & Request.Form("LPrice")& "' AND '" & Request.Form("HPrice")&_
 "' AND bedr BETWEEN '" & Request.Form("beds")& "' AND '" & Request.Form("bedsh")&_
 "' AND bathr BETWEEN '" & Request.Form("baths")& "' AND '" & Request.Form("bathsh")&_
 "' AND htype = '" & Request.Form("typ")&_
 "' AND term = '" & Request.Form("rental")&_
 "' ORDER BY price DESC"

% är bara relevant om du använder like

Nu tittade jag inte på din andra select.

Medlem sedan mars 2000542 inlägg
#3

Tack, men den vill fortfarande inte visa något.

Mvh.

Medlem sedan dec. 200012 464 inlägg
#4

jag förstår inte varför din fråga med select count(*) har andra villkor än din första fråga.

Ett annat problem är att du hanterar numeriska värden, t.ex. price som om det vore strängar.

Ett villkor som

where price between '7' and '10'

är aldrig sant

Medlem sedan mars 2000542 inlägg
#5

Ett villkor som

kod:--------------------------------------------------------------------------------
where price between '7' and '10'
--------------------------------------------------------------------------------

är aldrig sant

Snälla förklara, inte bra på asp, jag ska byta ut koden i "count" så att den blir samma som i SQL.

Mvh

Medlem sedan dec. 200012 464 inlägg
#6

Strängar jämförs tecken för tecken, så om du har villkoret

if "8" < "10" then

så är det inte uppfyllt eftersom "8" är större än "1".

Medlem sedan mars 2000542 inlägg
#7

Thx, hur gör jag för att göra så att priset gämförs som ett helt tal?

Medlem sedan dec. 200012 464 inlägg
#8

Du får byta datatyp till number i databasen och i ditt villkor får du ta bort alla apostrofer

AND price BETWEEN " & Request.Form("LPrice")& " AND " & Request.Form("HPrice")&_

Detta borde väl även gälla bedr och bathr

Medlem sedan mars 2000542 inlägg
#9

Får felmeddelande.

SQL = "SELECT * From star WHERE (province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%') AND price BETWEEN " & Request.Form("LPrice")& " AND " & Request.Form("HPrice")&_
 " AND bedr BETWEEN " & Request.Form("beds")& " AND " & Request.Form("bedsh")&_
 " AND bathr BETWEEN " & Request.Form("baths")& " AND " & Request.Form("bathsh")&_
 "' AND htype = '" & Request.Form("typ")&_
 "' AND term = '" & Request.Form("sale")&_
 "' ORDER BY price DESC"

Mvh.

Medlem sedan juni 200032 967 inlägg
#10

Vad för felmeddelande?

Medlem sedan mars 2000542 inlägg
#11

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '(province LIKE 'cannes%' OR city LIKE 'cannes%') AND price BETWEEN 0 AND 99000000' AND bedr BETWEEN 0 AND 999' AND bathr BETWEEN 0 AND 999' AND htype = 'Villa' AND term = 'Sale' ORDER BY price DESC'.

Medlem sedan juni 200032 967 inlägg
#12

Du har en apostrof före AND bathr och en före AND htype .

De ska nog inte vara där.

Mvh,

Medlem sedan mars 2000542 inlägg
#13

Ser ut att funka nu, tack!!!
Vilken kod ska jag ha för att få summan att visas rätt när det kommer till antal sökträffar.

mSQL = "SELECT COUNT(*) from star WHERE (province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%') AND price BETWEEN " & Request.Form("LPrice")& " AND " & Request.Form("HPrice")&_
 " AND bedr BETWEEN " & Request.Form("beds")& " AND " & Request.Form("bedsh")&_
 " AND bathr BETWEEN " & Request.Form("baths")& " AND " & Request.Form("bathsh")&_
 " AND htype = " & Request.Form("typ")&_
 "' AND term = '" & Request.Form("sale")& "%'"

set rs1=Connect.Execute(mSQL)
Medlem sedan juni 200032 967 inlägg
#14

Jag är inte helt säker på att jag förstår frågan, men jag gör ett försök...

Response.write rs1(0) & " antal träffar"

Mvh,

Medlem sedan mars 2000542 inlägg
#15

Jag skriver ut resultatet med

<% Response.write RS1(0) %>

Men "COUNT" koden funkar inte.

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
 query expression '(province LIKE 'cannes%' OR city LIKE 'cannes%')
 AND price BETWEEN 0 AND 99000000 AND bedr BETWEEN 0 AND 999 AND bathr BETWEEN 0 AND
 999 AND htype = Villa' AND term = 'Sale%''.
Medlem sedan mars 2000542 inlägg
#16

Ah jag fixade det med

<%	Set Connect = Server.CreateObject("ADODB.Connection")
        Set RS    = Server.CreateObject("ADODB.Recordset")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=databas.mdb"
If Request.Form("sale") <> "" Then
SQL = "SELECT * From star WHERE (province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%') AND price BETWEEN " & Request.Form("LPrice")& " AND " & Request.Form("HPrice")&_
 " AND bedr BETWEEN " & Request.Form("beds")& " AND " & Request.Form("bedsh")&_
 " AND bathr BETWEEN " & Request.Form("baths")& " AND " & Request.Form("bathsh")&_
 " AND htype = '" & Request.Form("typ")&_
 "' AND term = '" & Request.Form("sale")&_
 "' ORDER BY price DESC"

RS.Open SQL, Connect, 3, 3

%>

och

<% Response.write "<tr><td>" & RS.RecordCount & " poster funna</td></tr>"
 %>
Medlem sedan dec. 200012 464 inlägg
#17

Det saknas en apostrof framför villa.

AND htype = Villa' AND term = 'Sale%''.
Medlem sedan mars 2000542 inlägg
#18

Kan ta det här också.

Om jag har

<input type="radio" name="typ" value="Villa">
  Villa<br>
  <input type="radio" name="typ" value="Apartment">
  Apartment<br>
  <input type="radio" name="typ" value="" checked>
  Both <br>

I Formuläret, och vill att both ska visa både apartment och villa, hur gör jag det?

Söksträngen:

" AND htype = '" & Request.Form("typ")&_
270 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)