Ja rubriken kanske säger en del. Ok "mannen", problemet är nog inte att vi medlemmar inte riktigt vet vad du är ute efter. Du lämnar lite mycket frågor för att motviera ett svar. Känns som ett lite drygt svar från din sida, men tack för att du förklarar. med plus och minus är det lite bökigt, speciellt om du jobbar mot access. Det du får göra är att splita din söksträng vid varje + och -. Sen får du bygga upp sql satsen utåfrån de olika delarna som du har delat upp din sträng i. även om det inte löser ditt problem helt så finns det större möjligheter för sökning i sql server, t.ex. patindex men det blir ju fortfarande en hel del meck... Hej Tackar, det där verkar intressant. Mycket kod, men jag ska ta en titt då jag har tid.Sökfunktion med + och -
Jag har en vanlig sökningfunktion nu, men jag vill ge användaren lite alternativ.
Hur gör jag så man kan använda sig av dessa funktioner? Det kanske finns andra som brukar användas, ge mig alla tips jag kan få för att underlätta för användaren.
[EDIT]
Verkar som inte fattar, det är så här att jag vill kunna använda mig av tex detta när jag söker
bil +audi +stor -blå
Hur gör jag detta i min asp kod?
Tack på förhandSv: Sökfunktion med + och -
Här är vad jag skulle vilja ha reda på:
1. Du skriver i asp. Har du en databas?
2. Vad för databas?
3. Hur ser din sökfråga ut idag?
4. Har du några specialiteter kring hur data transporteras?
5. Hur transporteras din data?
Frågan i sig är det dock inga problem med men om jag inte vet hur din data är organiserad kan jag inte skriva den.
//Mikael SandSv: Sökfunktion med + och -
Ja, jag skriver i ASP, använder för tillfället en Access databas men kommer gå över till msSQL, men vi utgår från access.
Idag har jag en sökfråga som liknar denna: (har förkortat den lite)
strSQL="SELECT * FROM tblAd WHERE (adTitle LIKE '%" & strSearch & "%' OR adEnglishTxt LIKE '%" & strSearch & "%' OR adLocalTxt LIKE '%" & strSearch & "%') AND (adCat=" & strSearchCat & ") AND (adCountry = " & strCountry & ") AND (adType = " & strSearchType & ") ORDER BY adCreateDate DESC, adCreateTime DESC"
Men som jag förstår så beror det väll inte på SQL strängen. Löses inte problemet i att hanterar datan som kommer från formuläret innan man gör jämförelserna i databasen.
Fråga 4 och 5 är jag inte säker på hur du menar. Men datan kommer från ett formulär och tas emot med Request.Form objectet.
Hoppas att ni kan hjälpa nu.
Det jag mest trodde att det behövdes svara på hur jag ska gå till väga, vad som behövs jämföras och göras om med datan som jag hämtar. Tex strSearch ligger strängen i som skickas från "text inputen" så det är den datan som behöver fixas så man kan använda sig av + och - etc.
Hoppas det nu klarnat.
Tack på förhand.Sv: Sökfunktion med + och -
om vi säger att du söker på "+volvo -blå" får du se till att generera sen sql sträng som ser ut nått i stil med WHERE (fält LIKE 'volvo') AND (fält NOT LIKE 'blå'). Är lite osäker på det där med "not like" men det är den prinsipen som gäller när du jobbar mot access (mig veterligen iaf)Sv: Sökfunktion med + och -
Sv: Sökfunktion med + och -
Det finns en skaplig lösning som kan anpassas:
www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=6297&lngWId=4
Advanced SQL Query Builder
Copyright (C) 1999, Lewis Moten. All rights reserved. Any modifications must be sent to me so that I may review and add them to the procedure as I feel fit.
Description:This code lets visitors to your site perform complex queries.
Users may choose if specific words (or phrases) must or must not match - or if they are optional (default).
By: Lewis Moten
Inputs:asFieldsAry - An array of fieldnames in database to search.
asKeywords - The actual query that the user types to query the database.
Keyword Search Parameters
To find fields that may have a word in them
OR roger
| roger
roger
To find fields that must match a word
AND roger
+ roger
& roger
To find fields that must not match a word
NOT roger
- roger
Also use phrases
+"rogers dog" -cat
+(rogers dog)
Returns:Returns just the SQL arguments within a group that are to be places after the WHERE Clause.
På samma site finns fler exempel på liknande funktionalitet.
Hoppas det löser problemet.Sv: Sökfunktion med + och -