---
title: "emission: din sökparser"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10931-emission-din-sökparser"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bengan"
published: "2001-08-04T23:15:00.000Z"
updated: "2001-08-05T17:28:00.000Z"
replies: 2
views: 186
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/10931-emission-din-sökparser"
---

# emission: din sökparser

## #1 — Bengan, 2001-08-04T23:15Z

Jag testade din parsning av en sökfråga som fins här: <http://cgi.webforum.nu/wf/Forum11/HTML/000405.html> 

Den funkar mycket bra förutom en sak (som väl antagligen är mitt fel)... Så fort man skriver minus framför ett ord så returneras ingen data alls. Alla andra kombinationer verkar funka som det är tänkt.

Ett exempel, skriver jag 'gratis -gästbok' så blir SQLen:

SELECT links.\*, cats.CatTitle, cats.CatNav from links LEFT JOIN cats ON cats.CatID = links.CatID WHERE (links.LinkName LIKE '%gratis%') AND NOT links.LinkName LIKE '%gästbok%' ORDER BY links.LinkName LIMIT 0,15

Jag har även provat med att ta bort JOIN delen men det blev samma resultat. Provade även att ta bort % runt ordet i AND NOT men det hjälper inte heller.
Det finns gott om poster med Gratis i så nåt borde returneras. 
Någon ide om vad som kan vara fel? Kör med MySQL och får samma fel om jag kör SQL.en direkt mot MYSQL.

Tydligen har jag fått hjärnsläpp :)

Permalänk: https://www.webforum.nu/p/10931

## #2 — emission, 2001-08-05T01:01Z

MySQL gillar inte AND NOT-kriteriet. Tillsvidare (håller på att bygga om funktionen helt) kan du bygga om, så att det i stället blir

AND NOT (links.LinkName LIKE '%gästbok%')

dvs. med parenteser runt.

Permalänk: https://www.webforum.nu/p/279643

## #3 — Bengan, 2001-08-05T17:28Z

Ah, så det var så enkelt!

Verkligen bra funktion, du får hojta till när den är uppdaterad.

Tack för hjälpen :)

Om någon undrar så löser det sig med att lägga till den fetmarkerade koden:

'återskapa strängarna (ersätt chr(1) med mellanslag) och
'skapa WHERE-satser i arrayerna
for i=0 to ubound(mAndArr)
mAndArr(i)=replace(mAndArr(i),chr(1)," ")
mAndArr(i)=replace(mWhere,"%%","%" & mid(mAndArr(i),3) & "%")
next
for i=0 to ubound(mNotArr)
mNotArr(i)=replace(mNotArr(i),chr(1)," ")
mNotArr(i)= **"("** & replace(mWhere,"%%","%" & mid(mNotArr(i),3) & "%") **& ")"**
next
for i=0 to ubound(mQueryArr)
mQueryArr(i)=replace(mQueryArr(i),chr(1)," ")
mQueryArr(i)=replace(mWhere,"%%","%" & mid(mQueryArr(i),2) & "%")
next

Permalänk: https://www.webforum.nu/p/279644

---

Tråden på webben: https://www.webforum.nu/amne/asp/10931-emission-din-sökparser
