[ASP/ACCESS] Geavanceerd zoeken

Pagina: 1
Acties:

  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Ik ben bezig met een zoek formulier die meerdere velden bevat.

De data van een aantal velden moeten uit verschillende tabellen worden gehaald.

Het probleem is dus dat ik er niet uit kom.

Wat is de beste manier om de data uit de database te halen?

Ik heb het al geprobeerd met IF statements.

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
Set rssearch = Server.CreateObject("ADODB.Recordset")

if strsearch <> "" Then
strSql = strSql + "AND A_TITLE like '%" & strsearch & "%'"
Else
End If 

if subid <> "" then
strSql = "SELECT * FROM T_ADDS WHERE SUB_ID = " & Rubriek
Else
end if

Set rssearch = My_Conn.Execute(strSql)


en dan de inhoud van rssearch op het scherm gooien.

of

ASP:
1
2
3
4
5
6
7
8
9
10
 
Set rssearch = Server.CreateObject("ADODB.Recordset")

strSql = "SELECT * FROM T_ADDS WHERE SUB_ID = " & Rubriek & "

If strtype <> "" then
strSql = strSql + "AND SUB_ID = " & Rubriek
End If

Set rssearch = My_Conn.Execute(strSql)


Bij dit voorbeeld krijg ik dus problemen wanneer er meerdere IF statements toevoegd worden.

Misschien dat iemand een kort opzetje kan posten of een link naar meer informatie.
Ik vraag niet naar complete code maar dat ik gewoon een beetje opweg geholpen word.

Specs


Verwijderd

Begin eens met aangeven welke tabellen je hebt, hoe die tabellen aan elkaar te knopen zijn en wat je op het scherm wilt laten zien.

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Het is ook mij niet helemaal duidelijk wat je nou precies bedoeld.
Kan echter wel zien dat je voorwaardelijke statements nog niet helemaal onder de knie hebt:
http://www.aspnl.com/aspnl/nl/lessen/asp/aspflowcontrol.asp

SQL Like statement:
http://www.sqlcourse2.com/select2.html

Veel succes

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Volgens mij ben je met die IF statements wel op de goede weg.

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
niets

[ Voor 100% gewijzigd door UniCache2 op 09-01-2003 21:16 ]


  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Hmm, ja weet ik. Nog niet echt goed beveiligd. Er moeten nog wat functions in om dat af te vangen.

Zou je je reply ff willen editten in niets?? :)

Ik zal vanavond of morgen even het e.e.a. verduidelijken betreffende mijn vraag...

edit: ik heb mijn homepage al ff weg gehaald :)

[ Voor 7% gewijzigd door Manual op 09-01-2003 20:14 ]

Specs


  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Goed. Wat meer info

Het gaat dus om een advertentiesite die ik opnieuw gebouwd heb. De hele site is klaar alleen het zoekgedeelte nog niet.

Kijk maar eens op http://www.probetrading.com/classifieds/ (dat is een testomgeving)
Klik dan op 'zoeken' bovenin.

Eerst wordt dus vastgesteld in welke categorie men wil zoeken en vervolgens het zoekscherm.

De gegevens die ingevuld worden, worden verzonden naar de volgende pagina (die ik er ff uitgesloopt heb)

Daar moet dus een contructie komen dat er gecontrolleerd wordt of een veld data bevat. Zoja, dan voert hij een query uit en trekt de betreffende data uit de DB. Zoals jullie zien kunnen zijn er dus meerdere invulvelden.

Het probleem is dan ook op welke wijze ik die data verzamel en op het scherm gooi.

In mijn openingspost staan een 2-tal varianten die ik geprobeerd heb.

De advertentietabel ziet er als volgd uit:

ID
CAT_ID -> categorie id
SUB_ID -> sub-categorie id
A_USERID
A_TITLE -> advertentie kop
A_TYPE -> aangeboden/te huur/etc.
A_DESC -> de advertentie zelf
........... en de overige advertentie gegevens

Ik hoop dat het e.e.a. wat duidelijker is.

offtopic:
Enne UniCache2, deze site is wel beveiling tegen injection attacks en andere ongein ;) Mochten er lekken zijn dan hoor ik het wel :Y)

Specs


  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Schopje...

Niemand?

Specs


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Bekijk onderstaande code maar eens goed.
Ik hoop dat je er wat aan hebt.

ASP.NET Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<%@ Language=VBScript %>
<%
If Request.Form("action") = "post" Then
  PostZoeken
Else
  ShowZoeken
End If

Sub ShowZoeken
  Response.Write "<html>" & vbCrLf _
               & "<head>" & vbCrLf _
               & "<title>Zoeken</title>" & vbCrLf _
               & "</head>" & vbCrLf _
               & "<body>" & vbCrLf _
               & "<form name=""form"" action=""zoeken.asp"" method=""post"">" & vbCrLf _
               & "<table width=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0"">" & vbCrLf _
               & "  <tr>" & vbCrLf _
               & "    <td colspan=""2""><b>Kies een subcategorie:</b></td>" & vbCrLf _
               & "  </tr>" & vbCrLf _
               & "  <tr>" & vbCrLf _
               & "    <td colspan=""2"">" & vbCrLf _
               & "      <select name=""subid"">" & vbCrLf _
               & "        <option value=""101"">Audio apparatuur</option>" & vbCrLf _
               & "        <option value=""102"">Video apparatuur</option>" & vbCrLf _
               & "        <option value=""103"">Televisie apparatuur</option>" & vbCrLf _
               & "      </select>" & vbCrLf _
               & "    </td>" & vbCrLf _
               & "  </tr>" & vbCrLf _
               & "  <tr>" & vbCrLf _
               & "    <td colspan=""2""><b>Kies het type advertentie:</b></td>" & vbCrLf _
               & "  </tr>" & vbCrLf _
               & "  <tr>" & vbCrLf _
               & "    <td colspan=""2"">" & vbCrLf _
               & "      <select name=""strtype"">" & vbCrLf _
               & "        <option value=""Aangeboden"">Aangeboden</option>" & vbCrLf _
               & "        <option value=""Gevraagd"">Gevraagd</option>" & vbCrLf _
               & "        <option value=""Te huur"">Te huur</option>" & vbCrLf _
               & "        <option value=""Te huur gevraagd"">Te huur gevraagd</option>" & vbCrLf _
               & "      </select>" & vbCrLf _
               & "    </td>" & vbCrLf _
               & "  </tr>" & vbCrLf _
               & "  <tr>" & vbCrLf _
               & "    <td colspan=""2""><b>Kies een provincie:</b></td>" & vbCrLf _
               & "  </tr>" & vbCrLf _
               & "  <tr>" & vbCrLf _
               & "    <td>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Heel Nederland"">Heel Nederland<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Drenthe"">Drenthe<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Flevoland"">Flevoland<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Friesland"">Friesland<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Gelderland"">Gelderland<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Groningen"">Groningen<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Limburg"">Limburg" & vbCrLf _
               & "    </td>" & vbCrLf _
               & "    <td>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Noord-Brabant"">Noord Brabant<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Noord-Holland"">Noord Holland<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Overijssel"">Overijssel<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Utrecht"">Utrecht<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Zeeland"">Zeeland<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Zuid-Holland"">Zuid Holland<br>" & vbCrLf _
               & "      <input type=""checkbox"" name=""state"" value=""Buitenland"">Buitenland" & vbCrLf _
               & "    </td>" & vbCrLf _
               & "  </tr>" & vbCrLf _
               & "  <tr>" & vbCrLf _
               & "    <td colspan=""2""><b>Vul een zoekopdracht in:</b></td>" & vbCrLf _
               & "  </tr>" & vbCrLf _
               & "  <tr>" & vbCrLf _
               & "    <td colspan=""2"">" & vbCrLf _
               & "      <input type=""text"" name=""strsearch"" size=""40"">" & vbCrLf _
               & "    </td>" & vbCrLf _
               & "  </tr>" & vbCrLf _
               & "  <tr>" & vbCrLf _
               & "    <td colspan=""2"">" & vbCrLf _
               & "      <input type=""submit"" name=""btsubmit"" value=""Zoeken"">" & vbCrLf _
               & "    </td>" & vbCrLf _
               & "  </tr>" & vbCrLf _
               & "</table>" & vbCrLf _ 
               & "<input type=""hidden"" name=""Rubriek"" value=""2"">" & vbCrLf _
               & "<input type=""hidden"" name=""action"" value=""post"">" & vbCrLf _
               & "</form>" & vbCrLf _
               & "</body>" & vbCrLf _
               & "</html>" & vbCrLf
End Sub

Sub PostZoeken
  Dim Item
  Dim strSQL
  
  Response.Write "Rubriek: " & Request.Form("Rubriek") & "<br>" & vbCrLf _
               & "SUB_ID: " & Request.Form("subid") & "<br>" & vbCrLf _
               & "A_TYPE: " & Request.Form("strtype") & "<br>" & vbCrLf
  For Each Item In Request.Form("state")
      Response.Write "State: " & Item & "<br>" & vbCrLf
  Next
  Response.Write "A_DESC: " & Request.Form("strsearch") & "<br><br>" & vbCrLf
  
  strSQL = "SELECT ID " _
         & "FROM advertentietabel " _
         & "WHERE CAT_ID = " & Request.Form("Rubriek") & " " _
         & "AND SUB_ID = " & Request.Form("subid") & " " _
         & "AND A_TYPE = '" & Request.Form("strtype") & "' "
  If Request.Form("strsearch") <> "" Then
    strSQL = strSQL _
           & "AND A_DESC LIKE '" & Request.Form("strsearch") & "' "
  End If
  Response.Write strSQL
End Sub
%>
Pagina: 1