---
title: "Dynamisk PHP meny"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/133182-dynamisk-php-meny"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "johnkallioniemi"
published: "2005-08-23T20:42:10.000Z"
updated: "2005-08-24T18:53:49.000Z"
replies: 9
views: 527
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/133182-dynamisk-php-meny"
---

# Dynamisk PHP meny

## #1 — johnkallioniemi, 2005-08-23T20:42Z

Nån som vet hur jag kan lösa det så att om jag har kategorierna så här och klickar på en så ska underkategorin hamna rakt under men dom andra ska vara kvar typ här

**Först**

Kat1
Kat2
Kat3
Kat4

**Sen**

Kat1
&nbsp;&nbsp;&nbsp;Sub1
&nbsp;&nbsp;&nbsp;Sub2
&nbsp;&nbsp;&nbsp;Sub3
Kat2
Kat3
Kat4

```php
<table>
<?
include 'includes/db.php';
$result=mysql_query("Select
categories.category,
categories.id,
count(products.category) as prods
From
categories,
products
Inner Join subcategories ON
products.category = subcategories.id AND
subcategories.`mid` = categories.id
Group By categories.category
");
while($rad=mysql_fetch_assoc($result)){
?>
<tr>
    <td><a href="?id=<?=$rad['id']?>"><?=$rad['category']?></a> ( <?=$rad['prods']?> )</td>
</tr>

    <?
    if(isset($_GET['id'])){
    $result=mysql_query("Select
    subcategories.subcategory,
    subcategories.id
    From products
    Inner Join subcategories ON
    products.category = subcategories.id
    Where subcategories.`mid` = '".$_GET[id]."'
    Group By subcategories.subcategory
    ");
    while($rad=mysql_fetch_assoc($result)){
    ?>
    <tr>
        <td><a href="?id=<?=$rad['id']?>"><?=$rad['subcategory']?></a></td>
    </tr>
    <?
        }
    }
    ?>

<?}?>

</table>
```

Har bara lyckats att få det till att första topp kategorin visas :/ 

snälla hjälp mig ;D

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

## #2 — Melea, 2005-08-23T20:58Z

Vet inte om det spelar någon roll, men byt variabelnamnen på en av SQL-frågorna.
$result och $rad.

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

## #3 — johnkallioniemi, 2005-08-23T22:14Z

Fick upp det så här då när jag klickade på hårddiskar:/

**Först**
Bildskärmar ( 1 ) 
CD/DVD ( 3 ) 
Hårddiskar ( 9 ) 
Nätverk ( 11 ) 

**Sen**
Bildskärmar ( 1 ) 
IDE 
S-ATA 
CD/DVD ( 3 ) 
IDE 
S-ATA 
Hårddiskar ( 9 ) 
IDE 
S-ATA 
Nätverk ( 11 ) 
IDE 
S-ATA

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

## #4 — Pedda, 2005-08-23T22:42Z

Som det är nu så kollar du ju bara om du har $\_GET\['id'\] så hämtas subkategorierna. Kolla så dom har samma värde som raden i loopen.

```php
if(isset($_GET['id'] == $rad['id'])){
```

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

## #5 — johnkallioniemi, 2005-08-24T05:08Z

Då blev det så här hmm..........

Bildskärmar ( 1 ) 
IDE 
S-ATA 
CD/DVD ( 3 ) 
IDE 
S-ATA 
Hårddiskar ( 9 ) 
IDE 
S-ATA 
Nätverk ( 11 ) 
IDE 
S-ATA

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

## #6 — Pedda, 2005-08-24T07:56Z

Det verkar konstigt att den skriver ut likadant.
Kan du posta koden som den ser ut nu?

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

## #7 — johnkallioniemi, 2005-08-24T15:41Z

```php
<table>
<?
include 'includes/db.php';
$result=mysql_query("Select 
categories.category, 
categories.id,
count(products.category) as prods
From 
categories, 
products 
Inner Join subcategories ON 
products.category = subcategories.id AND 
subcategories.`mid` = categories.id
Group By categories.category
");
while($rad=mysql_fetch_array($result)){
?>
<tr>
    <td><a href="?id=<?=$rad['id']?>"><?=$rad['category']?></a> ( <?=$rad['prods']?> )</td>
</tr>

    <?
    if(isset($_GET['id'])==$rad['id']){
    $result2=mysql_query("Select
    subcategories.subcategory,
    subcategories.id
    From products
    Inner Join subcategories ON
    products.category = subcategories.id
    Where subcategories.`mid` = '".$_GET[id]."'
    Group By subcategories.subcategory
    ");
    while($rad2=mysql_fetch_assoc($result2)){
    ?>
    <tr>
	<td><a href="?id=<?=$rad2['id']?>"><?=$rad2['subcategory']?></a></td>
    </tr>
    <?    
	}
    }
    ?>

<?}?>

</table>
```

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

## #8 — Pedda, 2005-08-24T16:39Z

Och det fungerar inte om du använder koden jag skrev?

```php
if(isset($_GET['id'] == $rad['id'])){
```

 
Observera att parenteserna är annorlunda än i din kod.

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

## #9 — johnkallioniemi, 2005-08-24T18:48Z

det funkar inte med din kod därför var jag tvungen att skriva den på mitt sätt istället :/

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

## #10 — johnkallioniemi, 2005-08-24T18:53Z

Detta är koden som funkar ;D

```php
<table>
<?
include 'includes/db.php';
$result=mysql_query("Select
categories.category,
categories.id,
count(products.category) as prods
From
categories,
products
Inner Join subcategories ON
products.category = subcategories.id AND
subcategories.`mid` = categories.id
Group By categories.category
");
while($rad=mysql_fetch_array($result)){
?>
<tr>
    <td><a href="?id=<?=$rad['id']?>"><?=$rad['category']?></a> ( <?=$rad['prods']?> )</td>
</tr>

    <?
    if(isset($_GET['id']) && $_GET['id'] == $rad['id']){
    $result2=mysql_query("Select
    subcategories.subcategory,
    subcategories.id
    From products
    Inner Join subcategories ON
    products.category = subcategories.id
    Where subcategories.`mid` = '".$_GET[id]."'
    Group By subcategories.subcategory
    ");
    while($rad2=mysql_fetch_assoc($result2)){
    ?>
    <tr>
        <td><a href="?id=<?=$rad2['id']?>"><?=$rad2['subcategory']?></a></td>
    </tr>
    <?
        }
    }
    ?>

<?}?>

</table>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/133182-dynamisk-php-meny
