---
title: "Ganska krånglig sökfunktionsfråga ?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/95794-ganska-krånglig-sökfunktionsfråga"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Pellefant"
published: "2004-01-26T21:06:53.000Z"
updated: "2004-01-27T10:02:12.000Z"
replies: 2
views: 237
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/95794-ganska-krånglig-sökfunktionsfråga"
---

# Ganska krånglig sökfunktionsfråga ?

## #1 — Pellefant, 2004-01-26T21:06Z

Hej! :)

Jag har denna:

```php
$Query="SELECT * FROM companies WHERE name LIKE '%companyname%' OR category LIKE '$category' OR town LIKE '$town'";
```

 

Mitt problem är att om man väljer "alla" kategorier(variabel: allcats) och/eller  alla städer( variabel alltowns), hur man kan få in det i mySQL frågan?

Stort tack på förhand.

På sidan innan så har jag detta:

all categories(drop down meny)
bakeries
plumbers
etc

all towns( drop down meny)
London
Newcastle
etc

Companyname:(textfield)

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

## #2 — @nders, 2004-01-26T21:11Z

Varför använder du LIKE när du gör exakta jämförelser (dvs utan wildcard)? Använd =.

```
if ($category=="allcats")
    $strCategory = "";
else
    $strCategory = "OR category = '" . $category . "'";
if ($town=="alltowns")
    $strTown = "";
else
    $strTown = "OR town = '" . $town . "'";

$Query="SELECT * FROM companies WHERE name LIKE '%" . $companyname . "%' " . $strCategory . $strTown;
```

Nu kan jag inte php, men du förstår på ett ungefär vad jag menar hoppas jag.

(edit: jag gillar att konkatenera ordentligt. ;) )

Mvh

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

## #3 — Pellefant, 2004-01-27T10:02Z

Fick köra med AND istället för OR, funkar bra nu. Tack för hjälpen.

```php
if ($category=="allcats")  
    $strCategory = "";  
else  
    $strCategory = " AND category = '" . $category . "' ";  

if ($town=="alltowns")  
    $strTown = "";  
else  
    $strTown = " AND town = '" . $town . "' ";  

$Query="SELECT * FROM companies WHERE name LIKE '%" . $companyname . "%' " . $strCategory . $strTown;
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/95794-ganska-krånglig-sökfunktionsfråga
