navigation in einer tabelle darstellen

cng

Mitglied
hallo zusammen

ich habe auf meiner alten homepage (rein html) folgende navigation in einer tabelle:
CODE <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="navtwo">
<td width="10%"> </td>
<td width="90%" height="22"><strong
class="fontmenu3">Multimedia</strong></td>
</tr><tr class="navtwo">
<td> </td>
<td height="22"><a href="...">WebDesign</a></td>
</tr>
<tr class="navtwo">
<td> </td>
<td height="22"><a href="...">BS/Network</a></td>
</tr>
<tr class="navtwo">
<td> </td>
<td height="22"><a href="...">Office</a></td>
</tr>
<tr class="navtwo">
<td> </td>
<td height="22"><a href="...">allgemein</a></td>
</tr>
</table>
in php verwende ich für die erste navigation (horizontal) folgendes script:

CODE <?
$nav[1]['datei']="welcome.php";
$nav[1]['anzeige']="Home";
$nav[2]['datei']="galerie_start.php";
$nav[2]['anzeige']="Fotogalerie";
$nav[3]['datei']="links_start.php";
$nav[3]['anzeige']=" Links ";
$nav[4]['datei']="about_us.php";
$nav[4]['anzeige']="Über uns";


function nav($x) {
global $nav;
foreach($nav as $key=>$value) {
if ($x==$key) echo "<a href='".$value['datei']."'><font color='#000000'>".$value['anzeige']."</font></a>"." ".'<img src="nav/navstopone.gif" width="2" height="18" align="texttop">'." ";
else echo "<a href='".$value['datei']."'>".$value['anzeige']."</a>"." ".'<img src="nav/navstopone.gif" width="2" height="18" align="texttop">'." ";
}
}
?>

ich möchte nun das php script so abändern, dass die navigation wie die obere tabelle aussieht.

ich habe es versucht, aber bringe es mit der tabelle einfach nicht hin.
kann mir da jemand helfen?

danke und gruss
michael

 
CODE
<?
$nav[1]['datei']="welcome.php";
$nav[1]['anzeige']="Home";
$nav[2]['datei']="galerie_start.php";
$nav[2]['anzeige']="Fotogalerie";
$nav[3]['datei']="links_start.php";
$nav[3]['anzeige']=" Links ";
$nav[4]['datei']="about_us.php";
$nav[4]['anzeige']="Über uns";

echo'<table width="100%" border="0" cellspacing="0" cellpadding="0">';
foreach($nav as $key=>$value) {
echo'<tr class="navtwo">
<td> </td>
<td height="22"><a href="'.$value['datei'].'">'.$value['anzeige'].'</a></td>
</tr>'; }
echo'</table>';
?>

Sollte das sein Was du suchst, hoffe ich jedenfalls
wink.gif
 
hallo

ich habe es noch etwas erweitert, aber es geht immer noch nicht. ich sehe den fehler
einfach nicht
sad.gif


so hab ichs gemacht:
CODE <?
$navjoellejoelle[1]['datei']="welcome.php";
$navjoelle[1]['anzeige']="Home";
$navjoelle[2]['datei']="galerie_start.php";
$navjoelle[2]['anzeige']="Fotogalerie";
$navjoelle[3]['datei']="links_start.php";
$navjoelle[3]['anzeige']=" Links ";
$navjoelle[4]['datei']="about_us.php";
$navjoelle[4]['anzeige']="Über uns";

echo '
<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">';
foreach($navjoelle as $key=>$value) {
echo '
<tr class='navjoelletwo'>
<td> </td>
<td height=\"22\"><a href='".$value['datei']."'><font color='#000000'>".$value['anzeige']."</font></a></td>';
else echo '
<td> </td>
<td height=\"22\"><a href='".$value['datei']."'>".$value['anzeige']."</a></td>
</tr>';
}
echo '
</table>';
?>
und das kommt dann beim öffnen der datei:

CODE Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\Program Files\Apache Group\Apache2\htdocs\...\...\...\navjoelle.inc.php on line 15


???

 
das liegt daran, dass du beim echo singlequotes ' benutzt, und dann innerhalb des echo befehls wieder singlequotes einsetzt. tipp: ich verwende für html immer singlequotes und bei php immer doublequotes " :

echo "<a href='irgend-ein-link.html'>Link</a>";

solltest du innerhalb eines echo-befehls doch mal doublequotes benötigst, verwende einfach \", das wird dann durch " ersetzt.

gr33tz
j0sh
 
@j0sh

danke für deinen tip. wenigstens stimmen nun die farbkombinationen. aber leider
bring ichs immer noch nicht zum laufen. ich sehe den fehler nicht und die
fehlermeldungen im browser nehemn auch mehr zu als ab

so sieht es zur zeit aus:

CODE <?
$navjoellejoelle[1]['datei']="welcome.php";
$navjoelle[1]['anzeige']="Home";
$navjoelle[2]['datei']="galerie_start.php";
$navjoelle[2]['anzeige']="Fotogalerie";
$navjoelle[3]['datei']="links_start.php";
$navjoelle[3]['anzeige']=" Links ";
$navjoelle[4]['datei']="about_us.php";
$navjoelle[4]['anzeige']="Über uns";

echo "
<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
foreach($navjoelle as $key=>$value) {
echo "
<tr class='navjoelletwo'>
<td> </td>
<td height='22'><a href=\".$value['datei'].\"><font color='#000000'>\".$value['anzeige'].\"</font></a></td>";
else echo "
<td> </td>
<td height='22'><a href=\".$value['datei'].\"><font color='#000000'>\".$value['anzeige'].\"</font></a></td>
</tr>";
}
echo "
</table>";
?>

und der browser meldet

QUOTE Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program Files\Apache Group\Apache2 ...... on line 17

hat jemand noch einen rat??

danke im voraus
michael
 
Ich hab den Code gerade mal rüberkopiert und wollte ihn bearbeiten.

Erst da ist mir aufgefallen, dass du ein ELSE drinn hast. Dies funktioniert natürlich nur wenn dus mit ner IF - Abfrage benutzt. Und eine solche ist nicht enthalten. Ich denke aber ich weiss was du machen willst. Nämlich zuerst alle $navjoelle abarbeiten und danach die $navjoellejoelle?

Dann würde es wie folgt funktionieren:

CODE <?
$navjoellejoelle[1]['datei']="welcome.php";
$navjoellejoelle[1]['anzeige']="Home";
$navjoelle[2]['datei']="galerie_start.php";
$navjoelle[2]['anzeige']="Fotogalerie";
$navjoelle[3]['datei']="links_start.php";
$navjoelle[3]['anzeige']=" Links ";
$navjoelle[4]['datei']="about_us.php";
$navjoelle[4]['anzeige']="Über uns";

echo '
<table width="100%" border="0" cellspacing="0" cellpadding="0">';  
 foreach($navjoelle as $key=>$value) {
         echo '
   <tr class="navjoelletwo">
              <td> </td>
              <td height="22"><a href='.$value['datei'].'><font color="#000000">'.$value['anzeige'].'</font></a></td>'; }
foreach($navjoellejoelle as $key=>$value) {
   echo'
  <tr class="navjoelletwo">
              <td> </td>
              <td height="22"><a href='.$value['datei'].'><font color="#000000">'.$value['anzeige'].'</font></a></td>'; }
echo'
</table>';
?>

Oder sonst musst du halt mal darlegen was du genau machen willst
wink.gif


Gruss

Maweg

// EDIT: Ahja... ich habe die Quotes noch umgeschrieben. Ich benutze im HTML-Bereich " und im PHP - Bereich ' dadurch entfällt das Escapen (meistens)
 
ich habe es inzwischen auch erledigen können. die navigation funktioniert, aber
hat einen schönheitsfehler...

hier das script:
CODE <?
$navjoelle[1]['datei']="welcome.php";
$navjoelle[1]['anzeige']="Home";
$navjoelle[2]['datei']="galerie_start.php";
$navjoelle[2]['anzeige']="Fotogalerie";
$navjoelle[3]['datei']="links_start.php";
$navjoelle[3]['anzeige']=" Links ";
$navjoelle[4]['datei']="about_us.php";
$navjoelle[4]['anzeige']="Über uns";



echo "
<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
function navjoelle($x) {
global $navjoelle;
foreach($navjoelle as $key=>$value) {
if ($x==$key) echo "
<tr class='navtwo'>
<td width='10%'> </td>
<td width='90%' height='22'>
<a href='".$value['datei']."'><font color='#000000'>".$value['anzeige']."</font></a></td>
</tr>";
else echo "
<tr class='navtwo'>
<td width='10%'> </td>
<td width='90%' height='22'>
<a href='".$value['datei']."'>".$value['anzeige']."</a></td>
</tr>";
}
}
echo "
</table>";
?>

nun. die navigation verschiebt die ganze seite und nimmt ca. 90% der page in
anspruch. wenn ich das php in eine innere tabelle lege, stimmt zwar die breite (toll) aber dann habe ich zwischen den beiden tabellen ein unschöner rand.
ich habe unterhalb der navigation ein horizontal gestrichelte grafik. zwischen der navigation und der grafik entsteht nun ein 3 fach so dicke linie, als die restlichen in dieser tabelle

hier der code:

CODE <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td width="100" class="randline">
<? navjoelle (0) ?>
</td>
<td width="10" class="bgwhite"> </td>
........
 
kannst du mal die verwendeten CSS Abschnitte posten? Damit ich mir das mal genauer ansehen kann?
 
hier meine css


QUOTE .titel {
background-image: url(../nav/titel.jpg);
background-repeat: no-repeat;
}
.navone {
background-image: url(../nav/navone.gif);
background-repeat: repeat-x;
}
.navtwo {
background-image: url(../nav/navtwo.gif);
background-repeat: repeat-x;
}
.downline {
background-image: url(../nav/downline.gif);
background-repeat: repeat-x;
}
.bgbluedark {
background-color: #336699;
}
.bgwhite {
background-color: #FFFFFF;
}
.randline {
background-image: url(../nav/randline.gif);
background-repeat: repeat;
}
.fontmenu1 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 11pt;
font-weight: bold;
cursor: default;
}
.fontmenu2 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 9pt;
font-weight: bold;
cursor: default;
}
.font {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
cursor: default;
}
a {
color: #336699;
font-style: normal;
text-decoration: none;
cursor: default
}
a:hover {
color: #000000;
cursor: default
}
a.link1 {
color:#000000;
font-style:normal;
text-decoration:none;
cursor:default
}
a:hover.link1{
color:#4682B4;
cursor:hand;
.textblock line-height:10pt;
cursor: default;
}
.newstop {
background-attachment: fixed;
background-image: url(../nav/news/newstop.gif);
background-repeat: no-repeat;
background-position: center center;
}
.newsfont {

font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}
.newstitel {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
color: #000000;
cursor: default;
}
.closewin {
font-size: 10px;
font-weight: bold;
color: #000000;
cursor: default;
font-family: Verdana, Arial, Helvetica, sans-serif;

}
.horizontline {
background-image: url(../nav/horizontline.gif);
background-repeat: repeat-x;
background-position: center center;

}
.bggroof {
background-image: url(../nav/table_bg_groof.gif);
background-repeat: repeat-y;
background-position: center center;
}
.fontmenu3 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 12px;
font-weight: normal;

}
.fontlink {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 12px;


}

ich muss nun gehen, werde später oder morgen früh wieder reinschauen...

bis später

gruss
michael
 
so, das problem konnte ich lösen. zwar auf eine komische weise, aber es geht.

das steht in der seite:
CODE <table width="100" border="0" cellspacing="0">
<? navjoelle (0) ?>
</table>

und das im navigationsscript:

CODE $navjoelle[1]['anzeige']="Home";
$navjoelle[2]['datei']="galerie_start.php";
$navjoelle[2]['anzeige']="Fotogalerie";
$navjoelle[3]['datei']="links_start.php";
$navjoelle[3]['anzeige']=" Links ";
$navjoelle[4]['datei']="about_us.php";
$navjoelle[4]['anzeige']="Über uns";



function navjoelle($x) {
global $navjoelle;
foreach($navjoelle as $key=>$value) {
if ($x==$key) echo "
<tr class='navtwo'>
<td width='10%'> </td>
<td width='90%' height='22'>
<a href='".$value['datei']."'><font color='#000000'>".$value['anzeige']."</font></a></td>
</tr>";
else echo "
<tr class='navtwo'>
<td width='10%'> </td>
<td width='90%' height='22'>
<a href='".$value['datei']."'>".$value['anzeige']."</a></td>
</tr>";
}
}
?>

ich danke allen

gruss
michael
 
Zurück
Oben