---
title: "Olika SELECT-satser beroende på input?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/22030-olika-select-satser-beroende-på-input"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Neo"
published: "2001-01-19T07:22:00.000Z"
updated: "2001-01-19T07:22:00.000Z"
replies: 0
views: 225
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/22030-olika-select-satser-beroende-på-input"
---

# Olika SELECT-satser beroende på input?

## #1 — Neo, 2001-01-19T07:22Z

Finns det något smartare sätt att göra detta på, eller jag menar hur gör jag det här smartare? ;-)

Jag har en DB(klockor) med 4 fält id, marke, boettnr, refnr.

Jag vill att man ska kunna söka på endast ett eller 2 eller alla 3 av fälten...

Koden ser ut så här:

\<FORM name="kontroll" ACTION="\<?php echo $PHP_SELF?\>"\>
\<B\>Märke:\</B\>\<BR\>
\<SELECT name="brand" size="1"\>
\<OPTION VALUE="alla" selected\>Välj märke...\</OPTION\>
\<OPTION VALUE="Omega"\>Omega\</OPTION\>
\<OPTION VALUE="Rolex"\>Rolex\</OPTION\>
\</SELECT\>\<BR\>
\<BR\>
\<B\>Boettnr:\</B\>\<BR\>
\<INPUT type="text" size="20" name="boettnr" value=""\>\<BR\>
\<BR\>
\<B\>Ref.nr:\</B\>\<BR\>
\<INPUT type="text" size="20" name="refnr" value=""\>\<BR\>
\<BR\>
\<INPUT class="knapp" TYPE="submit" name="submit" VALUE="Kontrollera"\>
\</FORM\>
\<BR\>
\<?php
if ($submit) {
$db = // koppla upp bla bla bla...

if ($brand == 'alla' &#0124;&#0124; $boettnr != '' &#0124;&#0124; $refnr != ''):
$result = mysql_query("SELECT \* FROM klockor WHERE boettnr='$boettnr' AND refnr='$refnr'",$db);

elseif ($brand != 'alla' &#0124;&#0124; $boettnr == '' &#0124;&#0124; $refnr == ''):
$result = mysql_query("SELECT \* FROM klockor WHERE marke='$brand'",$db);

elseif ($brand != 'alla' &#0124;&#0124; $boettnr != '' &#0124;&#0124; $refnr != ''):
$result = mysql_query("SELECT \* FROM klockor WHERE marke='$brand' AND boettnr='$boettnr' AND refnr='$refnr'",$db);

elseif ($brand != 'alla' &#0124;&#0124; $refnr == ''):
$result = mysql_query("SELECT \* FROM klockor WHERE marke='$brand' AND boettnr='$boettnr'",$db);

elseif ($brand != 'alla' &#0124;&#0124; $boettnr == ''):
$result = mysql_query("SELECT \* FROM klockor WHERE marke='$brand' AND refnr='$refnr'",$db);

endif;

if ($myrow = mysql_fetch_array($result)) {
  	do {
    printf("\<B\>Resultat av din sökning:\</B\>\<BR\>\<BR\>\<B\>%s\</B\>\<BR\>\<B\>Boettnr:\</B\> %s\<BR\>\<B\>Refnr:\</B\> %s\<BR\>\<BR\>\\n", $myrow\["marke"\], $myrow\["boettnr"\],$myrow\["refnr"\]);
  } while ($myrow = mysql_fetch_array($result));
}
 else{
echo "Dennna klocka finns inte med i registret.\<BR\>\<BR\>";
	}
}
?\>

Jag misstänker att det här inte är det bästa sättet att göra det på, dessutom får jag olika resultat beroende på i vilken ordning jag sätter if-satserna.

// Neo - I´m your poweranimal, start sliding!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/22030-olika-select-satser-beroende-på-input
