Forenindex » Programmierung/Entwicklung » PHP und MySQL » Dritte Navi Ebene erstellen

Dritte Navi Ebene erstellen

publisherin
Beiträge gesamt:

26. Feb 2011, 21:20
Bewertung:

gelesen: 4526

Beitrag als Lesezeichen
Hallo kann mir jemand helfen wie ich das mit substr lösen kann.
Eine zweite Ebene geht, aber wie erstelle ich die Dritte.
In der 2. Ebene sollte der Link Archiv liegen und in diesem dann erst die alten Berichte aufklappar.
Ich schaffs einfach nicht.
Code
			// === Button Berichte ============== 
if ( substr($_GET['Page'],0,1) == 'B')
{
echo '<a href="index.php?Page=B04" class="aktiv" >Berichte</a>' ;
echo '<div id="navi02">';
echo '<a href="index.php?Page=B04" >Berichte 2011</a>';
echo '<a href="index.php?Page=B03" >Archiv</a>' ;
echo '</div>';
echo '<div id="navi03">';
echo '<a href="index.php?Page=B03" >Berichte 2010</a>';
echo '<a href="index.php?Page=B02" >Berichte 2009</a>';
echo '<a href="index.php?Page=B01" >Berichte 2008</a>';
echo '</div>';
}
else
{
echo '<a href="index.php?Page=B04">Berichte</a>' ;
}

Siehe Websitehttp://www.routiers-sh-nos.ch/index.php?Page=B04
Danke für eure Hilfe

Dritte Navi Ebene erstellen

flobaer
Beiträge gesamt: 317

10. Mär 2011, 16:16
Bewertung:

gelesen: 4420

Beitrag als Lesezeichen
Hi,

ehrlich gesagt, verstehe ich den Sinn hinter Deinem Konstrukt nicht. 'B' steht bei Dir für 'Berichte'? Und die werden fortlaufend nummeriert? Also wären die Berichte 2012 dann B05, oder?

Gibt es einen Grund, dass die Page-Werte nur dreistellig sein dürfen? Sonst kannst Du ja eine zweite Stelle einbauen und abfragen. Also BA03 statt B03 usw.

Wirklich geschickt erscheint mir das alles aber nicht. Aber um einen besseren Weg vorschlagen zu können, müsstest Du erklären was Du da eigentlich vor hast und warum...

Viele Grüße
Florian

Dritte Navi Ebene erstellen

publisherin
Beiträge gesamt:

11. Mär 2011, 16:19
Bewertung:

gelesen: 4407

Beitrag als Lesezeichen
Hallo Florian
Danke für deine Nachfrage.
Ja du hast das richtig verstanden mit dem 'B' steht für Berichte und die werden nummeriert.
Mein Problem vor 1,5 Jahren habe ich in der Schule für Webprogrammer, dieses Projekt erstellt. Natürlich mit Vorgaben des Lehrers, mittlerweilen habe ich auch das Gefühl dass dies nicht geschickt gelöst ist, möchte aber nicht alles neu erstellen.
Die Website hat eine Navi mit zwei Ebenen nun möchte ich die Links auch der zweiten Ebene in eine dritte versetzen. Das heisst damit die Liste nicht allzu lang wird, möchte ich in der zweiten Ebene einen Link als Archiv der dann in der dritten Ebene alle Berichte von 2008 bis 2010 beeinhaltet.
Ich weiss einfach nicht wie ich mit if und else noch eine dritte ebene abfragen (erstellen) kann.

Grüsse Chantal

Dritte Navi Ebene erstellen

flobaer
Beiträge gesamt: 317

11. Mär 2011, 16:43
Bewertung:

gelesen: 4399

Beitrag als Lesezeichen
Hallo Chantal,

wenn Du die Page-IDs selbst vergibst, würde ich einfach eine zweite Stelle einbauen, also BA02 für Bericht, Archiv. Die kannst Du dann abfragen. Ansonsten kannst Du auswerten wie hoch die Zahl ist und alles was kleiner als z.B. 4 ist, ist im Archiv.

Viele Grüße
Florian

Dritte Navi Ebene erstellen

publisherin
Beiträge gesamt:

14. Mär 2011, 08:37
Bewertung:

gelesen: 4352

Beitrag als Lesezeichen
Hallo Florian

Ich verstehe was du meinst, aber irgend etwas ist an meiner abfrage falsch.
Also ich muss doch im if eine weiter if abfrage erstellen?
Habe dir hier mal den code
Code
			// === Button Berichte ============== 
if ( substr($_GET['Page'],0,1) == 'B')
{
echo '<a href="index.php?Page=B04" class="aktiv" >Berichte</a>' ;
echo '<div id="navi02">';
echo '<a href="index.php?Page=B04" >Berichte 2011</a>';

if ( substr($_GET['Page'],0,1) == 'BA')
{
echo '<a href="index.php?Page=BA00" >Archiv</a>' ;
echo '</div>';
echo '<div id="navi03">';
echo '<a href="index.php?Page=BA03" >Berichte 2010</a>';
echo '<a href="index.php?Page=BA02" >Berichte 2009</a>';
echo '<a href="index.php?Page=BA01" >Berichte 2008</a>';
echo '</div>';
}
}
else
{
echo '<a href="index.php?Page=B04">Berichte</a>' ;
}

Liebe Grüsse
Chantal

Dritte Navi Ebene erstellen

flobaer
Beiträge gesamt: 317

14. Mär 2011, 08:55
Bewertung:

gelesen: 4344

Beitrag als Lesezeichen
Hallo Chantal,

die Abfrage muss lauten
Code
	if ( substr($_GET['Page'],1,1) == 'A') 

oder
Code
	if ( substr($_GET['Page'],0,2) == 'BA') 


Viele Grüße
Florian

Dritte Navi Ebene erstellen

publisherin
Beiträge gesamt:

14. Mär 2011, 09:54
Bewertung:

gelesen: 4332

Beitrag als Lesezeichen
Hallo Florian

Erstens mal Danke für deine Hilfe.
Habe da aber noch eine Frage:
Wenn ich den Link Berichte öffne sind die Unterlinks des Archivs schon aufgeklappt, ich möchte aber dass die Unterlinks des Archivs erst nach klick auf Archiv die unterlinks ersichtlich werden.
Dass ist eben mein eigentliches Problem.

Grüessli Chantal

Dritte Navi Ebene erstellen

flobaer
Beiträge gesamt: 317

14. Mär 2011, 10:06
Bewertung:

gelesen: 4325

Beitrag als Lesezeichen
Hallo Chantal,

Code
// === Button Berichte ==============  
if ( substr($_GET['Page'],0,1) == 'B') {
echo '<a href="index.php?Page=B04" class="aktiv" >Berichte</a>' ;
echo '<div id="navi02">';
echo '<a href="index.php?Page=B04" >Berichte 2011</a>';
if ( substr($_GET['Page'],1,1) == 'A') {
echo '<a href="index.php?Page=BA00" class="aktiv" >Archiv</a>' ;
echo '</div>';
echo '<div id="navi03">';
echo '<a href="index.php?Page=BA03" >Berichte 2010</a>';
echo '<a href="index.php?Page=BA02" >Berichte 2009</a>';
echo '<a href="index.php?Page=BA01" >Berichte 2008</a>';
echo '</div>';
} else {
echo '<a href="index.php?Page=BA00" >Archiv</a>' ;
echo '</div>';
}
} else {
echo '<a href="index.php?Page=B04">Berichte</a>' ;
}


Darauf wärst Du aber auch selbst gekommen, oder? ;-)

Viele Grüße
Florian

Dritte Navi Ebene erstellen

publisherin
Beiträge gesamt:

14. Mär 2011, 10:29
Bewertung:

gelesen: 4314

Beitrag als Lesezeichen
Hallo Florian

Danke für deine Hilfe, ich bin extrem unsicher mit php.
Und wenn ich da alleine vor dem Code sitze verzweilfle ich fast weil es so viele Möglichkeiten gibt und ich irgendwie die Logik der verschachtelten Abfragen mit den Klammern noch nicht kapiert habe.

Grüsse Chantal

Dritte Navi Ebene erstellen

ganesh
Beiträge gesamt: 1981

15. Mär 2011, 16:22
Bewertung:

gelesen: 4243

Beitrag als Lesezeichen
Bei mehr als 2-3 möglichen if/else Varianten würde ich mir angewöhnen, die switch() Kontrollstruktur zu benutzen; m.E. sehr viel übersichtlicher.

http://ch.php.net/...tructures.switch.php

Dritte Navi Ebene erstellen

Bitfilme
Beiträge gesamt: 264

15. Mär 2011, 22:48
Bewertung:

gelesen: 4220

Beitrag als Lesezeichen
Ich würde folgendes ändern
Code
if (substr($_GET['Page'],0,1) .... 

in

if (isset($_GET['Page']) && substr($_GET['Page'],0,1)...

Die $_GET['Page'] ist undefiniert, sobald die Array $_GET leer bez. null Inhalte hat.
Gruss Bitfilme