---
title: "sök"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/126733-sök"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "slow"
published: "2005-04-19T19:43:20.000Z"
updated: "2005-04-20T10:45:34.000Z"
replies: 8
views: 342
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/databaser-sql/126733-sök"
---

# sök

## #1 — slow, 2005-04-19T19:43Z

Har gjort en liten sökfunktion vars jag använder denna SQL kod:

```
SELECT *
FROM skrivet_text
WHERE rubrik LIKE '%SearchString%' OR text LIKE '%SearchString%'
ORDER BY datum DESC
```

'%SearchString%' är bara hämtad från ett textfält. Sökningen funkar bra men jag försöker få den att man ska kunna välja vilka kategorier man vill söka i. Alltså jag har en tabell med kategorierna, tex så här:
id_kategori
namn_kategori
beskrivning_kategori

Också har jag som jag en tabell som innehåller texterna, typ så här:
id_text
kategori_id
text

Sedan tänkte jag att man skulle klicka i vilka kategorier man vill att den ska söka i genom vanliga 'Checkboxar' i ett formulär. Har satt dit så att dessa checkboxar skickar med aktuellt idnummer på kategorin iaf. Förstår ni hur jag menar? Men hur riktigt gör man det i SQL. Finns det någon "if-sats" man kan köra med? :D Typ om checkbox med värde 1 sök i text med kategori_id = 1....

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

## #2 — slow, 2005-04-19T20:13Z

```
SELECT *
FROM tabellen
WHERE '%checedvalue1%' = tabellen.rad AND
 '%checedvalue%2' = tabellen.rad, 'rubrik LIKE
 '%SearchString%' OR text LIKE '%SearchString%'
ORDER BY datum DESC
```

Nått sådan fast något som fungerar? hehe..
FAAN vad kass jag är på det här.. :)

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

## #3 — LarsG, 2005-04-20T07:16Z

Döp checkboxarna till samma namn

```
SELECT *
FROM tabellen
WHERE tabellen.rad in (" & request.form("checkBox") & ")"
AND (rubrik LIKE '%SearchString%' 
OR text LIKE '%SearchString%')
ORDER BY datum DESC
```

Glöm inte parenteser när du blandar and och or i where.

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

## #4 — Erik Juhlin, 2005-04-20T07:50Z

Welcome SQL-injection! :o

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

## #5 — slow, 2005-04-20T08:48Z

Ändrade om lite så det skulle bli lite enklare för mig.. :)
Så nu kan man bara söka i en kategori år gången.. :)

```
SELECT *
FROM skrivet_text
WHERE skrivet_text.kat_id = '%checkbox%' AND 
rubrik LIKE '%SearchString%' OR text LIKE '%SearchString%'
ORDER BY datum DESC
```

Men när jag kör med denna så struntar den vilket idnummer texten tillhör utan visar alla texter oavsett.
Provade att använda IN istället för = i denna (WHERE skrivet_text.kat_id IN '%checkbox%' ) Men då får jag error..finns det något annat jag kan använda?

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

## #6 — LarsG, 2005-04-20T09:03Z

> Glöm inte parenteser när du blandar and och or i where.

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

## #7 — slow, 2005-04-20T10:20Z

Jag lyckas inte med parenteserna! :(

```
SELECT *
FROM skrivet_text
WHERE '%katid%' = ('skrivet_text.kat_id') AND  
(rubrik LIKE '%SearchString%' OR text LIKE '%SearchString%')
ORDER BY datum DESC
```

Vad gör jag för fel?

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

## #8 — @nders, 2005-04-20T10:25Z

Vad vill du ha för resultat av det där? Är *katid* en variabel i ASP eller PHP? Då får du konkatenera in den på lämpligt sätt. För ASP (som är det jag kan):

```
SELECT *
FROM skrivet_text
WHERE skrivet_text.kat_id = " & katid & " AND  
(rubrik LIKE '%SearchString%' OR text LIKE '%SearchString%')
ORDER BY datum DESC
```

Är det PHP kan du säkert konkatenera in det själv.

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

## #9 — slow, 2005-04-20T10:45Z

aaaah, naturligtvis..är man kas så är man.. :)
det var php och nu är det fixat....

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/126733-sök
