webForumDet fria alternativet

Dynamisk PHP meny

9 svar · 525 visningar · startad av johnkallioniemi

johnkallioniemiMedlem sedan aug. 200534 inlägg
#1

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
   Sub1
   Sub2
   Sub3
Kat2
Kat3
Kat4

<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

MeleaMedlem sedan juli 20032 667 inlägg
#2

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

johnkallioniemiMedlem sedan aug. 200534 inlägg
#3

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

PeddaMedlem sedan juni 20004 880 inlägg
#4

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.

if(isset($_GET['id'] == $rad['id'])){
johnkallioniemiMedlem sedan aug. 200534 inlägg
#5

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

PeddaMedlem sedan juni 20004 880 inlägg
#6

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

johnkallioniemiMedlem sedan aug. 200534 inlägg
#7
<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>
PeddaMedlem sedan juni 20004 880 inlägg
#8

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

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

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

johnkallioniemiMedlem sedan aug. 200534 inlägg
#9

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

johnkallioniemiMedlem sedan aug. 200534 inlägg
#10

Detta är koden som funkar ;D

<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>
Genererad på 396 ms · cache AV · v20260730165559-full.f96bc7eb