Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

in einer Linkliste soll der geladene Link andersfarbig sein





Frage

Und zwar lasse ich eine Linkliste auslesen: $res=mysql_query("select * from links_navi where verband='$v' order by ident;"); while($row=mysql_fetch_array($res)) { echo" | <a href='".$row[datei]."'>".$row[link]."</a>"; } #ende while mysql_free_result($res); echo" |</b>"; } Es klappt auch hervorragend. Ich versuche allerdings hinzubekommen, daß der Link, auf deren Seite man sich befindet eine andere Farbe bekommt. Die Unterseiten rufe ich mich index.php?id=.... auf So, frei gesagt also ich möchte eine andere Farbe des Links if($id=="$row[datei]") Kann ich dies hinbekommen? Habt ihr eine Lösung oder einen Ansatz?

Antwort 1 von sunny

keine eine Idee?

Antwort 2 von semi

Sind die Links in gleichen Frame?
Wenn ja, dann hast Du Deine Frage selbst beantwortet :)

while... {
  if($id!="$row[datei]")
    echo ... wie oben
  else
    echo "<a ... style=\"color:pink\">" ...usw.
}

Gruß,
Michael

Antwort 3 von sunny

Ich habe nicht mit Frames gearbeitet, sondern es ist immer die gleiche Datei, index.php, welche sich aus header, footer und einer .inc zusammensetzt. Diese .inc-Datei wird durch die Variable $id bestimmt.
Dein Vorschlag Michael geht nicht? Hast du noch eine Idee?

Antwort 4 von semi

Ist dieses "ident" die Link-Id, die hinter index.php kommt?
Wenn ja, dann mußt Du diese mit der übergebenen Id vergleichen.
if(!isset($id) || strcmp($id,$row['ident'])!=0)
  echo ...normal
else
  echo ...in farbe
Im Klartext

wenn id nicht definiert bzw. nicht übergeben oder wenn aktuelle DB-Zeile mit ungleicher ID, dann normalen Link ausgeben.
Sonst (einmalig) den bunten Link ausgeben.

Antwort 5 von sunny

so sieht es jetzt aus und es geht nicht. Hinter die index.php kommt aber auch nicht ident, sondern id, also index.php?id=impressum. Irgendwie steh ich aufm Schlauch und steige nicht wirklich durch zur Zeit. Könnt ihr mir noch einen Tipp geben???

$res=mysql_query("select * from links_navi where verband='kr' order by ident;");

while($row=mysql_fetch_array($res))
{


if(!isset($id) || strcmp($id,$row['ident'])!=0)
{

echo"
| <a href='".$row[datei]."'>".$row[link]."</a>";
}
else
{

echo"
| <a href='".$row[datei]."' style=\"color:pink\">".$row[link]."</a>";
}

} #ende while
mysql_free_result($res);
echo" |</b>";

Antwort 6 von sunnyboy

habe mich mal wieder eingeloggt, daher der andere Name.

Kann ich das ganz skript dir sonst mal per Mail schicken, wenn du mir dann helfen magst?

Antwort 7 von semi

In welchem Feld der Tabelle links_navi steht die Id wie z.B. 'impressum' etc.? Dieses Feld mußt du mit dem übergebenen vergleichen.

Antwort 8 von sunnyboy

Die Tabelle hat 4 Spalten, ident - lfd. Nummerierung; link - Impressum; datei - index.php?id=impressum; verband - kr

Antwort 9 von semi

if(!isset($id) || strcmp(strtolower($id),strtolower($row['link']))!=0)



Antwort 10 von sunnyboy

das geht an sich ganz gut - :-)
Aber irgendwie nur, wenn id==link ist.
Geht das auch, wenn id einen anderen Wert hat?

Antwort 11 von semi

Klar. Wenn die Feldkombination
"verband"-"link" eindeutig ist.


Antwort 12 von sunnyboy

Was heisst eindeutig?
Habe z.B noch als link: wir über uns
und entsprechend als datei, id=vorstellung

Wie bekomme ich das denn unter einen Hut?

Antwort 13 von semi

Mannomann. Eine lange Disskussion über eine simple Sache.
Ich wette, wir reden an einander vorbei. :-)

Schick das Ding rüber.
Hier mein Spam-Mail-Schlucker: mise945 (at) compuserve.de