SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 04.11.2007, 16:53:59
fenja fenja ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 3
Vor-/Zurückblättern ohne DB aus Menü-Arrays

Hallo,

ich habe ein dynamisches Menü in folgender Form erstellt:

PHP-Code:
<?php
$menu 
= array (

"Ueberschrift 1" => array ("../ordner1/",
"Sublink1" => array ("../ordner1/sublink1.php"),
"Sublink1" => array ("../ordner1/sublink2.php"),
"Sublink1" => array ("../ordner1/sublink3.php")
),

"Ueberschrift 2" => array ("../ordner2/",
"Sublink1" => array ("../ordner2/sublink1.php")
),

// usw.

);

?>
Alles unwichtige aus dem Menü-Skript rausgekürzt, sodass ich jetzt nur die Links der Submenüs angezeigt kriege:

PHP-Code:
<?php

$scriptName 
getenv("SCRIPT_NAME"); 
$count 1;

echo 
"<ul>\n";

foreach(
$menu as $main => $mainLink){
    
    foreach(
$mainLink as $sub => $subLink){
        
$mainDir substr_replace (dirname($mainLink[0]), ""02);
        
$subDir substr_replace (dirname($subLink[0]), ""02);
        
$subBase basename($subLink[0]);
        if (
$sub != "") {
            
$num $count++;
            echo 
"<li>$num. <a href=\"$subLink[0]\">$sub</a></li>\n";
        }
    }
}
echo 
"</ul>\n";

?>
Das ganze natürlich in die einzelnen Seiten included.
Und mit

PHP-Code:
if ($scriptName == $subDir."/".$subBase) {...} 
habe ich auch geschafft, den Link der aktuellen Seite im Menü ausfindig zu machen (und zu markieren).

Jetzt möchte ich zusätzlich zum Menü auf jeder Seite einen Link jeweils zur vorherigen und zur nächsten Seite zum Blättern einfügen. Ohne Datenbank!
Wie schaffe ich es, dass er das jeweilige Array-Element vor und nach dem aktuellen Link erkennt und ausgibt? Kann ich mit der Nummerierung ($num) und +-1 darauf zugreifen?

Geändert von fenja (04.11.2007 um 16:59:36 Uhr)
Mit Zitat antworten
  #2  
Alt 04.11.2007, 21:22:16
fenja fenja ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 3
AW: Vor-/Zurückblättern ohne DB aus Menü-Arrays

Hm, also mein Problem ist: Ich möchte eine Seite ohne Datenbank so programmieren, dass man sich vollständig mit der Tastatur durchklicken kann. Dazu brauche ich auf jeder Seite die AccessKey-Angabe, welche Seite die nächste und welche die vorherige ist. Die Reihenfolge soll exakt der Reihenfolge im Menü entsprechen (also keine Zurück-Button-Funktion).
Der php-Code des $menu-Arrays ist in einer eigenen Datei gespeichert, die Aufbereitung zum Menü in einer anderen. Die Vorherige/Nächste-Seite-Funktion soll am besten auch in eine Extra-Datei.
Ich habe nun schon verschiedene Optionen wie array_search, array_walk, next und prev ausprobiert, aber scheitere schon an dem Array, das ja in einer externen Datei definiert wurde. Mein Grundproblem ist, dass ich es einfach nicht gebacken kriege, aus den Elementen subLink[0] ein neues Array zu erstellen, aus welchem ich dann auswählen kann. Dabei ist das doch bestimmt ganz einfach!
Kann mir da jemand einen kleinen Schubs geben? Dann komme ich bestimmt weiter!
Mit Zitat antworten
  #3  
Alt 04.11.2007, 21:38:00
Blade1965 Blade1965 ist offline
Junior Member
 
Registriert seit: Jan 2006
Alter: 58
Beiträge: 169
AW: Vor-/Zurückblättern ohne DB aus Menü-Arrays

Wie wäre es mit Javascript?

<SCRIPT LANGUAGE="JavaScript1.2">

<!--

function NNKeyCap(thisOne)
{
if (thisOne.modifiers & Event.SHIFT_MASK)
{
if (thisOne.which == 37)
{alert('That\'s the % key')};
if (thisOne.which == 90)
{alert('That\'s the Z key')};
if (thisOne.which == 41)
{alert('That\'s the ) key')};
}

if (thisOne.which == 61)
{alert('That\'s the = key')};
if (thisOne.which == 106)
{alert('That\'s the j key')};
if (thisOne.which == 51)
{alert('That\'s the 3 key')};
}

function IEKeyCap()
{
if (window.event.shiftKey)
{

if (window.event.keyCode == 90)
{window.open('link_zur_seite.php')};

}


}

if (navigator.appName == 'Netscape') {
window.captureEvents(Event.KEYPRESS);
window.onKeyPress = NNKeyCap;
}

//-->

</SCRIPT>


Und dann im Body:

<body onKeyPress="IEKeyCap()">
Mit Zitat antworten
  #4  
Alt 05.11.2007, 13:17:45
fenja fenja ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 3
AW: Vor-/Zurückblättern ohne DB aus Menü-Arrays

Nein, also vergesst das mit dem Tabben (war nur zur Hintergrunderklärung). Das Skript zum Tabben ist schon komplett fertig, ich muss nur noch die Links einbinden und eben genau da

Zitat:
Zitat von Blade1965 Beitrag anzeigen
{window.open('link_zur_seite.php')};
liegt das Problem. Ich möchte den Link zur vorherigen Seite und zur nächsten Seite automatisch auslesen - wie gesagt denke ich, es wäre am logischsten dies aus dem Menü-Skript zu tun, wo die Links in der richtigen Reihenfolge angegeben sind.
Ich hätt jetzt eigentlich eher gedacht, dass das für euch im Forum hier zu einfach ist und deswegen keiner mit PHP-Tipps antwortet. Ich verzweifel ja schon selbst daran, dass ich das einfach nicht schaffe.

Momentan denke ich, die array-Funktionen next und prev liegen der Lösung am nächsten. Hier ist jedoch mein Problem, dass mit current oder pos immer nur das erste Array ausgelesen wird, von welchem ich dann mit next oder prev weitergehen kann. Ich möchte aber die aktuelle URL mit dem aktuellen Link vergleichen - was ich mit der if-Bedingung versuche - und von dort aus dann zu next oder prev gehen.
Solange ich aber in der if-Bedingung bin, kann er natürlich nur immer wieder nur den aktuellen Link und kein prev oder next finden. Wenn ich jedoch versuche außerhalb der if-Bedingung oder gar außerhalb der foreach-Schleife auf den aktuellen Link zuzugreifen - ich hab schon versucht, ihn innerhalb der if-Bedingung erst in eine Variable umzuwandeln, auf die ich dann später zugreife - dann erkennt er diesen nicht mehr als Array-Element bzw. den Array, auf den sich die Anfrage bezieht, nicht mehr als Array.
Mit array-search findet er zwar das aktuelle Array (= aktueller Link), aber hier kann ich auch nicht mit next und prev weitergehen ( dann kommt einfach gar nichts).

Wo liegt denn mein Denkfehler? Kann mir nicht jemand nur einen kleinen Tipp geben, welche Vorgehensweise, welche Funktion oder welcher Befehl hier der richtige wäre?

Nochmal kurzer Überblick zum Aufbau:
menu.php : hier sind die Arrays des Menüs aufgelistet
navi.php : hier ist die menu.php included, mit der foreach-Schleife wird die Navigation erstellt
seite.php : auf jeder Seite wird die navi.php eingebunden
desweiteren wird auf jeder Seite die Javascript-Datei für den Tastenzugriff eingebunden,
die Links dazu werden auf jeder Seite selbst deklariert
Dies möchte ich dann auch in eine php-Datei auslagern, in welcher die Links eben automaisch generiert werden sollen, diese dann wieder in die Seite eingebunden.
Mit Zitat antworten
  #5  
Alt 05.11.2007, 14:56:42
Fury Fury ist offline
Anfänger
 
Registriert seit: Oct 2007
Beiträge: 13
AW: Vor-/Zurückblättern ohne DB aus Menü-Arrays

Also wenn ich dein Prob richtig verstanden habe, dann willst du soetwas wie hier im forum die buttons "< vorheriges thema | Nächstese Thema >".

warum dann nich einfach 2 links auf der seite.php erstellen die auf +-1 sublink verweisen ?

dann noch ne if-abfrage für sublink1, weil es dann logischerweise kein -1 geben kann.
__________________
----------------
GreeTz
Fury
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
array_intersect: wie leere arrays ausschließen? gerhard PHP Grundlagen 6 25.08.2004 03:20:08
Drop Down Menü initialisieren jwg PHP Grundlagen 5 07.11.2003 17:10:48
Klapp Menü Silenthil PHP für Fortgeschrittene und Experten 1 25.07.2003 20:24:02
Mehrdeminsionale Arrays pyton PHP Grundlagen 1 25.09.2002 16:12:43
wieviele Arrays ..... xtension PHP Grundlagen 34 06.07.2002 23:14:11


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:02:47 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt