Hallo zusammen.
Ich benötige mal eure Hilfe. Ich bin neu hier und besitze einige Grundlagen in PHP.
Nun zum Problem:
Ich habe mir über die selfPHP Scripte die "Dynamische Seitennavigation" in meine Seite eingebaut.
Der erste Seitenaufbau Funktioniert auch wunderbar. Das Problem liegt hier allerdingst bei der verlinkung auf andere Seiten. Hier wird mittel der Funktion "Navigationsleiste"
auf
Code:
$string .= '<a href="?site=1'.$extVariables.'"><<</a> ';
mittels dem befehl site aufgerufen.
Allerdingst rufe ich meine Seiten alle über eine content.php Seite auf. Somit steht bei mir für dieses Modul im Header:
http://localhost/index.php?show=movies
Hier wird der Link dann natürlich durch die Funktion von selfPHP mit
http://localhost/index.php?site=2&var1=wert1&var2=wert2 ersetzt. Der Seitenaufbau funktioniert dan natürlich nicht, da die Seite ohne show=movies nicht bekannt ist. Die wiedergabe der zweiten Seite muss aber zwingend in der aufgerufenden Seite show=movies erfolgen, da hier alle meine Platzhalter zur wiedergabe der Daten sind.
Kann mir jemad vileicht einen Tipp geben wie dies am besten Funktioniert.
Zur verdeutlichung im Anhang ein Bild meiner Struktur der Aufzurufenden Seiten mit der Conten.php.
Im voraus schon mal DANKE
Die Content.php:
PHP-Code:
<?php
function show_content() {
if(isset($_GET['show']))
$show = $_GET['show'];
else
$show = "default";
switch($show)
{
case "movies":
include('./modules/movies.php');
$out = show_movies();
break;
case "moviesSuchen":
include('./modules/movies_suchen.php');
$out = show_moviesSuchen();
break;
case "moviesdetails":
include('./modules/movies_details.php');
$out = show_movies_details();
break;
case "reg":
include('./modules/registrieren.php');
$out = show_reg();
break;
case "warenkorb":
include('./modules/warenkorb.php');
$out = show_warenkorb();
break;
case "moviebearbeiten":
include('./modules/movie_bearbeiten_admin.php');
$out = show_moviebearbeiten();
break;
case "default":
default:
include('./modules/default.php');
$out = show_default();
break;
}
return $out;
}
?>
Hier mein Modul Movie.php mit Seitennavigation:
PHP-Code:
<?PHP
function show_movies()
{
$f_movieNr = $_POST["f_idmovie"];
$kundennr=getKundenNr();
$usergroup=getidGruppe();
//echo $aktuelleGruppe;
if (getBenutzername() == "")
return join('', file('./templates/no_rights.html'));
// Wieviel Einträge pro Seite sollen dargestellt werden?
define("MAX_EINTRAEGE",11);
// Wieviel Seitenzahlen in der Navigationsleiste angezeigt werden. Ausgabe kann sein
// << < 2 3 4 5 6 7 8 9 10 11 12 > >>
// Die Berechnung erfolgt nur für ungerade Zahlen!!!
define("NAV_LEISTE",11);
$seiteAktuell = $_GET['site'] + 0;
echo $seiteAktuell."HALLO";
// Falls noch keine Seitenzahl übergeben wurde, den Wert auf die erste Seite setzen
if(empty($seiteAktuell))
$seiteAktuell = 1;
// Berechnet die nächsten Eintraege aus MAX_EINTRAEGE
$start = $seiteAktuell * MAX_EINTRAEGE - MAX_EINTRAEGE;
switch($usergroup)
{
case "1": //Admin
$query = "SELECT tm.idMovie, tm.Titel, tfsk.FSK, tms.Statusanzeige
FROM tblmovie tm, tblfsk tfsk, tblMovieStatus tms
WHERE tm.fiFSK = tfsk.idFSK AND tms.idMovieStatus =
tm.fiMovieStatus AND tfsk.FSK <='18'
ORDER BY tm.Titel LIMIT $start, ".MAX_EINTRAEGE;
break;
case "2": //FSK 16
$query = "SELECT tm.idMovie, tm.Titel, tfsk.FSK, tms.Statusanzeige
FROM tblmovie tm, tblfsk tfsk, tblMovieStatus tms
WHERE tm.fiFSK = tfsk.idFSK AND tms.idMovieStatus =
tm.fiMovieStatus AND tfsk.FSK <='16'
ORDER BY tm.Titel LIMIT $start, ".MAX_EINTRAEGE;
break;
case "3": //FSK 18
$query = "SELECT tm.idMovie, tm.Titel, tfsk.FSK, tms.Statusanzeige
FROM tblmovie tm, tblfsk tfsk, tblMovieStatus tms
WHERE tm.fiFSK = tfsk.idFSK AND tms.idMovieStatus =
tm.fiMovieStatus AND tfsk.FSK <='18'
ORDER BY tm.Titel LIMIT $start, ".MAX_EINTRAEGE;
break;
}
//echo $query;
$result = mysql_query($query); //Schreibt SQL querry ausgabe in result
if ($result == "") {
$Bemerkung= "Moviedatenbank nicht gefunden.";
}
else {
//Überschrift================================================================================================
$ueber= "<TR>";
$max=mysql_num_fields($result); //-1 Eintrage wenn extrafeld vorh (löschfeld)
for ($i=0;$i<$max;$i++) {
$ueber.="<TD><B><U>".mysql_field_name($result,$i)."</B></U><BR>";
/* $ueber.=mysql_field_type($result,$i)."[".mysql_field_len($result,$i)."]<BR>";
/* $ueber.="(".str_replace(" ",",",mysql_field_flags($result,$i)).")</TD>"; */
}
$ueber.="<TD><U>Aktion:</U></TD>\n</TR>";
//Ende - Überschrift-------------------------------------------------------------------------
// Ermittelt die Gesamtzahl der Datensätze
$resultGesamt = @mysql_query("SELECT COUNT(*) AS menge FROM tblMovie");
$Eintraege = @mysql_result($resultGesamt,0,"menge");
// Ausgabe der Seite - SQL Datensatz Zuweisen======================
$inhalt = ""; //Inhaltsvariable für html Modular
$show_zeile = join('', file('./templates/movies_zeile.html'));
$i=0;
while($row = mysql_fetch_object($result)){
$temp=$i % 2;
$rep_array_movies_zeile = array(
"{idmovie}" => $row -> idMovie,
"{titel}" => $row -> Titel,
"{fiFSK}" => $row -> FSK,
"{fistatus}" => $row -> statusanzeige,
"{zahl}" => $temp
);
$inhalt.=strtr($show_zeile, $rep_array_movies_zeile);
$i++;
}
}
//FUNKTION Navigationsleiste aus self PHP Scripte:
function navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables){
// Die Menge der angezeigten Links für die Seiten werden errechnet
$NavCeil = floor(NAV_LEISTE / 2);
// Eine Seite zurück oder zum Anfang nur anzeigen, wenn mindestens eine Seite zurück
// geblättert werden kann
if($seiteAktuell > 1){
$string .= '<a href="?site=1'.$extVariables.'"><<</a> ';
$string .= '<a href="?site='.($seiteAktuell-1).$extVariables.'"><</a> ';
}
// Baut die Seitennavigation aúf (1 2 3 4 5 6 ... n)
for($x=$seiteAktuell-$NavCeil;$x<=$seiteAktuell+$NavCeil;$x++){
// Alle Seitenzahlen vor und nach der aktuellen Seite verlinken
if(($x>0 && $x<$seiteAktuell) || ($x>$seiteAktuell && $x<=$SitesComplete))
$string .= '<a href="?site='.$x.$extVariables.'">'.$x.'</a> ';
// Die Seitenzahl der aktuellen Seite nicht verlinken
if($x==$seiteAktuell)
$string .= $x . ' ';
}
// Eine Seite vor oder zum Ende nur anzeigen, wenn mindestens eine Seite weiter
// geblättert werden kann
if($seiteAktuell < $SitesComplete){
$string .= '<a href="?site='.($seiteAktuell+1).$extVariables.'">></a> ';
$string .= '<a href="?site='.$SitesComplete.$extVariables.'">>></a> ';
}
return $string;
}
//AUFBAU der NAVIGATIONSLEISTE:
$contentWeb .= '<div align="center">';
// Errechnet die kompletten Seiten
$SitesComplete = ceil($Eintraege / MAX_EINTRAEGE);
// Ergebnisseite x von y anzeigen
$contentWeb .= 'Ergebnisseite ' . $seiteAktuell . ' von ' . $SitesComplete . '<br>';
// Weitere Variablen den Seitenzahlem mit übergeben in Form:
// &var1=wert1&var2=wert2
$extVariables = '&var1=wert1&var2=wert2';
// Navigation mit in Ausgabe einfügen
$contentWeb .= navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables);
$contentWeb .= '</div>';
//Replace Array für "movie_zeile.html" =============================================================================
//Array für die Anzeige : // Zuweisung HTML --> PHP Var
$rep_array_movies = array(
"{tbl_name}" => mysql_field_table($result,0),
"{tbl_zeilen}" => mysql_num_rows($result),
"{tbl_spalten}" => mysql_num_fields($result),
"{ueberschrift}" => $ueber,
"{inhalt}" => $inhalt,
"{bemerkung}" => $Bemerkung,
"{navigation}" => $contentWeb
);
$var = join('', file('./templates/movies.html'));
return strtr($var, $rep_array_movies);
}
?>