---
title: "Db-selectlista"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/89367-db-selectlista"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Qimen"
published: "2003-10-31T21:07:28.000Z"
updated: "2003-11-03T09:37:35.000Z"
replies: 1
views: 193
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/php/89367-db-selectlista"
---

# Db-selectlista

## #1 — Qimen, 2003-10-31T21:07Z

Hej

Hur ska jag gå till väga för att lösa ett sådant här ( <http://www.webforum.nu/showthread.php?s=&threadid=63304&forumid=149> ) fast där datan hämtas ifrån en db?

Eftersom en query måste köras beroende på val så måste ju sidan laddas om antar jag. 
I tabell ni_hvd_kat har jag id, hvd_kat. Där finns alla huvudkategorier. I tabell ni_ud_kat finns id, ud_kat, hvd_kat. Där sparars alla underkategorier samt till vilken huvudkategori de hör till.
Nu vill jag att först hämtas huvudkategorierna och läggs i en selectlista, sedan beroende på val ska nya val komma upp i en andra selectlista.

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

## #2 — Nexus86, 2003-11-03T09:37Z

Förutsatt att kolumnen hvd_kat i tabellen ni_ud_kat innehåller id till huvudkategorin och inte namnet samt att id i båda dessa börjar på noll och jobbar sig uppåt utan uppbehåll.

```php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Sveriges alla kommuner</title>
</head>
<body>

<script language="JavaScript" type="text/javascript">
<!--//© Copyright Inovart - 2003
<?
$link = mysql_connect('localhost', 'användarnamn', 'lösenord');
mysql_select_db('databasnamn');

$hvd_result = mysql_query("SELECT id, hvd_kat FROM ni_hvd_kat");

echo 'var katdata = new Array(' . mysql_num_rows($hvd_result) . ');
for(var n=0;n<katdata.length;n++){
	katdata[n] = new Array();
}
// Samtliga kommuner
katdata[0][0]="-- Välj huvudkategori --";';
$kat_result = mysql_query("SELECT id, ud_kat, hvd_kat FROM ni_ud_kat");
while ($row = mysql_fetch_array($kat_result, MYSQL_ASSOC)) {
    echo "katdata[" . $row['hvd_kat'] . "][" . $row['id'] . "]=\"" . $row['ud_kat'] . "\";\n";
}

mysql_free_result($kat_result);
?>

// osv.
function showSubKommun(subCat,selectObj){
	selectObj.length=katdata[subCat].length;
	for(var n=0;n<katdata[subCat].length;n++){
		selectObj[n].text=katdata[subCat][n];
		selectObj[n].value=katdata[subCat][n];
	}
}
</script>

<form>
<select name="hvd_kat" onChange="showSubKommun(this.selectedIndex,this.form.underKat);">
    <option value="" selected>-- Välj huvudkategori --</option>
<?
while ($row = mysql_fetch_array($hvd_result)) {
    echo "<option>" . $row['hvd_kat'] . "</option>\n";
}

mysql_free_result($hvd_result);
mysql_close($link);
?>
  </select>
<select name="underKat">
    <option selected>-- Välj huvudkategori--</option>
  </select>
</form>

</body>
</html>
<!-- Skapad av Inovart © 2003 -->
```

Har inte testat men det bör väl fungera. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/89367-db-selectlista
