---
title: "Olika för olika sidor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/186106-olika-för-olika-sidor"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "SoulGod"
published: "2011-02-17T11:24:39.000Z"
updated: "2011-02-17T15:11:52.000Z"
replies: 4
views: 1203
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/186106-olika-för-olika-sidor"
---

# Olika för olika sidor

## #1 — SoulGod, 2011-02-17T11:24Z

Jag har en meny som ser ut såhär:

```
<table class="menutext">
<tr class="menubg"><td width="15"><img src="img/arrows_a.png" alt=""></td><td><a href="foretag.php">Företagsinfo</a></td></tr>
<tr class="menubg"><td><img src="img/arrows.png" alt=""></td><td><a href="nyheter.php">Nyheter</a></td></tr>
</table>
```

Egentligen är menyn längre, men har kortat ner för att få bättre översikt ..
Jag vill att när jag är på en viss sida ( i detta fall foretag.php ), så skall en viss bild visas (arrows_a.png) .. på de sidor jag inte är inne på, så skall arrows.png visas ...

Hur går jag tillväga för att göra detta lämpligast?

Likaså - den sidan jag inte är inne på vill jag att länken ska "tas bort" på ..
Alltså är jag inne på företagsinfo ska jag inte kunna klicka på den igen ..

Finns det något bra sätt att göra detta 2 saker på?

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

## #2 — metalboy, 2011-02-17T12:06Z

**$\_SERVER\["PHP_SELF"\]** innehåller den från webbroten relativa sökvägen till det aktuella scriptet. Så med en enkel if-sats kan du kolla om det värdet är detsamma som länken du ska skriva ut.

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

## #3 — newseed, 2011-02-17T13:50Z

```php
<?php

$menu = array(
	'foretag.php'=>'Företagsinfo',
	'nyheter.php'=>'Nyheter'
);

?>

<table class="menutext">
<?php 
foreach ($menu as $link=>$name){
	// tänk på att modifiera detta om dina filer ej ligger i root-katalogen
	if ($link == $_SERVER["PHP_SELF"]){	
		echo '<tr class="menubg"><td width="15"><img src="img/arrows_a.png" alt=""></td><td>'+$name+'</td></tr>';
	}
	else{
		echo '<tr class="menubg"><td width="15"><img src="img/arrows.png" alt=""></td><td><a href="'+$link+'">'+$name+'</a></td></tr>';
	}
} 
?>
</table>
```

Denna kod borde göra som du önskar. Fyll bara på arrayen $menu i toppen.

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

## #4 — SoulGod, 2011-02-17T13:52Z

Tack för era svar! Jag hade tänkt en if-lösning, men tänkte om det fanns något annat sätt...

Såhär blev lösningen

```
function menu() {
$aktiv = substr($_SERVER["PHP_SELF"], 9);
 $query = "SELECT * FROM meny WHERE id <6 ORDER BY id";
 $meny = mysql_query($query) or die(mysql_error());
 $totalRows = mysql_num_rows($meny);  	
	while($row = mysql_fetch_assoc($meny)) { 
		echo "<tr class='menubg'>";
		echo "<td width='15px'>";
		if ($aktiv == $row['lank']) { echo "<img src='img/arrows_a.png' alt=''>"; }
	 		 else
	  { echo "<img src='img/arrows.png' alt=''>"; }
		echo "</td><td>";
		if ($aktiv == $row['lank']) { echo "".$row['namn'].""; }
		   else
		{ echo "<a href='".$row['lank']."'>".$row['namn']."</a>"; }
		echo "</td></tr>";
	}
```

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

## #5 — Danne V, 2011-02-17T15:11Z

Annars gör man sånt ganska enkelt med css. Idén är att ge ett id till varje element som det ska fixas med. Därefter lägger man in stilen i head, men endast för det element som är aktuellt på just den sidan.

Om man t.ex. har den här koden i alla sidor:

```
<a href="foo1.html" id="1">Länk 1</a>
<a href="foo1.html" id="2">Länk 2</a>
<a href="foo1.html" id="3">Länk 3</a>
```

..så lägger man in följande - och inget annat -  i head i "foo1.html":

```
#1 {bla bla min speciella stil här...}
```

...och detta i dokumentet "foo2.html":

```
#2 {bla bla min speciella stil här...}
```

..osv.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/186106-olika-för-olika-sidor
