[Script] Blätterfunktion

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Script] Blätterfunktion

    Mein Problem ist nicht die Blätterfunktion im allgemeinen, sondern ich möchte eine Erweiterung und zwar mit Einbindung des Alphabetes.
    Meine Seite ist:
    http://www.kochstudio-petra.de
    Sie inhaltet Rezepte in verschiedenen Kategorien, Fleisch, Fisch usw.
    meine Blätterfunktion soll also anzeigen:
    z.B unter Fleisch die Anzahl der Seiten und das Alphabet, wenn ich aber den Buchstaben A anklicke soll er mir die Anzahl der Seiten unter dem Buchstaben "A" anzeigen.

    Mein Code für die Blätterfunktion sieht so aus(nicht selbst geschrieben):

    <?PHP

    // Wieviel Einträge pro Seite sollen dargestellt werden?
    define("MAX_EINTRAEGE",1);

    // 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);

    // Definiert die Parameter für den Datenbank Connect
    define("DB_HOST","localhost"); // MySQL hostname
    define("DB_NAME",""); //MySQL db-name
    define("DB_USER",""); //MySQL User
    define("DB_PASS",""); // MySQL Passwort

    // Datenbank Connect herstellen
    $db = @MYSQL_CONNECT(DB_HOST,DB_USER,DB_PASS) or die("Datenbank-Connect fehlgeschlagen");
    $db_check = @MYSQL_SELECT_DB(DB_NAME) or die("Datenbank momentan nicht erreichbar");


    /**
    * Erstellt die Navigationsleiste für die einzelnen Seiten
    *
    * @param integer $SitesComplete Breite des Bildes
    * @param integer $seiteAktuell Höhe des Bildes
    * @param string $extVariables Zeiger auf das Bild
    *
    * @return string
    */
    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>&nbsp;&nbsp;';
    $string .= '<a href="?site='.($seiteAktuell-1).$extVariables.'"><</a>&nbsp;&nbsp;';
    }

    // 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>&nbsp;&nbsp;';

    // Die Seitenzahl der aktuellen Seite nicht verlinken
    if($x==$seiteAktuell)
    $string .= $x . '&nbsp;&nbsp;';
    }

    // 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>&nbsp;&nbsp;';
    $string .= '<a href="?site='.$SitesComplete.$extVariables.'">>></a>&nbsp;&nbsp;';
    }

    return $string;

    }

    // Die aktuell angeforderte Seite
    $seiteAktuell = $_GET['site'] + 0;

    // 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;

    // Holt die aktuellen Datensätze aus - define("MAX_EINTRAEGE",10)
    $result = @mysql_query("SELECT * FROM hp4u_kochstudio_koch_link LIMIT $start, ".MAX_EINTRAEGE);

    // Ermittelt die Gesamtzahl der Datensätze
    $resultGesamt = @mysql_query("SELECT COUNT(*) AS menge FROM hp4u_kochstudio_koch_link");
    $Eintraege = @mysql_result($resultGesamt,0,"menge");

    // Ausgabe der Seite
    while($row = @mysql_fetch_row($result)){
    // Hier findet die Ausgabe des Seiteninhalts statt
    $contentWeb .= $row[2] . '' . '<br><br>';
    $contentWeb .= $row[5] . '' . '<br><br><br>'; $contentWeb .= $row[6] . '<br><br><br><br>';
    }

    $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>';

    echo $contentWeb;

    ?>

    Ich hoffe ich habe es verständlich ausgedrückt und vielleicht kann mir jemand helfen

    Pigalle
    Zuletzt geändert von pigalle; 29.12.2006, 10:21.

  • #2
    Code in PHP Tags, bitte...
    Und zum Thema blättern wirst du hier im Forum von Treffern wahscheinlich erschlagen werden.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      AAAAAAAAAAAAAHHHHHHHHHHHH
      Ich schmeiß mich weg.

      Also wenn ich Admin wäre,würd ich dir ein Warnschild hinter dein Nicknamen stellen!

      Wenn du hier postest, denn mußt du vorher die DB verbindung rausnehmen.

      Macht das mal einer schnell weg da oben? Ich hol schon mal das Schild.
      Gut geraten ist halb gewußt.

      Kommentar


      • #4
        Re: [Script] Blätterfunktion

        Original geschrieben von pigalle

        Sie inhaltet Rezepte in verschiedenen Kategorien, Fleisch, Fisch usw.
        meine Blätterfunktion soll also anzeigen:
        z.B unter Fleisch die Anzahl der Seiten und das Alphabet, wenn ich aber den Buchstaben A anklicke soll er mir die Anzahl der Seiten unter dem Buchstaben "A" anzeigen.

        Versteh ich nicht ganz. Du willst keine Blätter function sondern nur die Anzahl der Einträge darunter haben?
        count();

        oder 10 € an mein paypal Konto.
        Gut geraten ist halb gewußt.

        Kommentar

        Lädt...
        X