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 ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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 Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.12.2009, 21:42:24
kokklo kokklo ist offline
Anfänger
 
Registriert seit: Jul 2008
Alter: 29
Beiträge: 10
kokklo befindet sich auf einem aufstrebenden Ast
Was haltet ihr von dieser Blätterfunktion?

Guten Abend.

Ich setze (bzw. werde einsetzen), von mir geschriebene, folgende Blätterfunktion in einer gbook.php ein.

PHP-Code:
function blaettern$aktuelle_seite$anzahl_seiten$bereich )
{
    
    
# Setze linken 
    
$links $bereich;
    
$rechts $bereich;
    
    
$ausgabe = array();

    
# Link zur neuesten (aktuellsten) Seite
    
if( $aktuelle_seite $links )
    {
        
$ausgabe[] = ' <a href="gbook.php?page=1">Neueste</a> ';
    }
    
    
# Eine Seite weiter in Richtung neueste (aktuellste Seite)
    
$newer '';
    if( 
$aktuelle_seite != )
    {
        
$newer $aktuelle_seite 1;
        
$ausgabe[] = ' <a href="gbook.php?page='.$newer.'">&lt;&lt;</a> ';
    }
    
    
# Lege nun max. Anzahl der Links im linken u. rechten Bereich fest kontra der Vorgabe
    
if( ( $aktuelle_seite $links ) < )
    {
        
$links $aktuelle_seite 1;
    }
    
    if( ( 
$aktuelle_seite $rechts ) > $anzahl_seiten )
    {
        
$rechts $rechts - ( ( $aktuelle_seite $rechts ) - $anzahl_seiten );
    }
    
    
# Ausgabe der Links (linker Bereich <-> aktuelle Seite <-> rechter Bereich)
    
$round $aktuelle_seite $links;
    
$zahler_down $links+$rechts;
    
$seiten '';
    
    for( 
$zaehler_up 0$zaehler_up <= $links+$rechts $zaehler_up++ )
    {
        
        if ( 
$round $aktuelle_seite )
        {
            
$seite $aktuelle_seite $links $zaehler_up;
            
$link $anzahl_seiten $seite 1;
            
$ausgabe[] = ' <a href="gbook.php?page='.$seite.'">'.$link.'</a> ';
        }
        if ( 
$round $aktuelle_seite )
        {
            
$seite $aktuelle_seite $rechts $zahler_down;
            
$link $anzahl_seiten $seite 1;
            
$ausgabe[] = ' <a href="gbook.php?page='.$seite.'">'.$link.'</a> ';
        }
        if ( 
$round == $aktuelle_seite )
        {
            
$link $anzahl_seiten $aktuelle_seite 1;
            
$ausgabe[] = ' <strong>'.$link.'</strong> ';
        }
        
        
$round += 1;
        
$zahler_down -= 1;
            
    }
    
    
# Eine Seite weiter in Richtung Älteste
    
$older '';
    if( 
$aktuelle_seite != $anzahl_seiten )
    {
        
$older $aktuelle_seite 1;
        
$ausgabe[] = ' <a href="gbook.php?page='.$older.'">&gt;&gt;</a> ';
    }
    
    
# Link zur ältesten Seite
    
$last '';
    if( ( 
$anzahl_seiten $aktuelle_seite $rechts ) > )
    {
        
$ausgabe[] = ' <a href="gbook.php?page='$anzahl_seiten .'">&Auml;lteste</a> ';
    }
    
    return 
$ausgabe;

Die Ausgabe erfolgt über eine for-Schleife
PHP-Code:
# $aktuelle Seite über die $_GET['page'] holen
# $anzahl_seiten über ein ->num_rows;
# $bereich: Anzahl der Links, links und rechts der aktuellen Seite

$seiten blaettern$aktuelle_seite$anzahl_seiten$bereich );

for ( 
$i 0$i count($seiten); $i++ )
{
    echo 
$seiten[$i];

..und sieht dann in etwa (je nach Anzahl der vorhandenen Seiten) so aus:
Code:
Neueste    <<    9  8  7  6  5  4  3    >>    Älteste

9,8,7 -> linker Bereich
6 -> aktuelle Seite
543 -> rechter Bereich
Was haltet ihr von der Funktion? Gibt es etwas was ihr anders (evtl. besser) machen würdet oder sind, eurer Meinung nach, Teile dabei die absolut garnicht da gehen?
Mit Zitat antworten
  #2  
Alt 07.12.2009, 23:16:38
Benutzerbild von rarios
rarios rarios ist offline
Member
 
Registriert seit: Jun 2006
Beiträge: 655
rarios befindet sich auf einem aufstrebenden Ast
AW: Was haltet ihr von dieser Blätterfunktion?

um ehrlich zu sein ist sie mir viel zu kompliziert und unnötig verschachtelt..
__________________
Liebe Grüße
Mit Zitat antworten
  #3  
Alt 14.12.2009, 04:46:31
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
Ckaos befindet sich auf einem aufstrebenden Ast
AW: Was haltet ihr von dieser Blätterfunktion?

hi kokklo,

ich schliesse mich ein bissle rarios an. Aber was soll ich sagen hab mir
für mein eigenes miniframework ne Klasse dafür geschrieben. Also weiter
so ....

Hab mir aber deins mal angeschaut und möchte dir den tip geben auch noch
die url zu übergeben also in deinem fall gbook.php?page=

Ansonsten hst du in dem geposteten noch fehler, die Seitenzahlen waren nicht richtig.
habe deinen Code mal kommentiert wo //<-fehler steht habe ich geändert.
PHP-Code:
<?php
function blaettern$aktuelle_seite$anzahl_seiten$bereich )
{
    
    
# Setze linken 
    
$links $bereich;
    
$rechts $bereich;
    
//! Kürzer -> $links = $rechts = $bereich;
    
    
$ausgabe = array();

    
# Link zur neuesten (aktuellsten) Seite
    
if( $aktuelle_seite $links )
    {
        
$ausgabe[] = ' <a href="gbook.php?page=1">Neueste</a> ';
    }
    
    
# Eine Seite weiter in Richtung neueste (aktuellste Seite)
    
$newer '';
    
//! $newer kann hier doch keinen wert haben also warum ='' ?
    
if( $aktuelle_seite != )
    {
        
$newer $aktuelle_seite 1;
        
$ausgabe[] = ' <a href="gbook.php?page='.$newer.'">&lt;&lt;</a> ';
    }
    
    
# Lege nun max. Anzahl der Links im linken u. rechten Bereich fest kontra der Vorgabe
    
if( ( $aktuelle_seite $links ) < )
    {
        
$links $aktuelle_seite 1;
    }
    
    if( ( 
$aktuelle_seite $rechts ) > $anzahl_seiten )
    {
        
$rechts $rechts - ( ( $aktuelle_seite $rechts ) - $anzahl_seiten );
    }
    
    
# Ausgabe der Links (linker Bereich <-> aktuelle Seite <-> rechter Bereich)
    
$round $aktuelle_seite $links;
    
$zahler_down $links+$rechts;
    
$seiten '';
    
    for( 
$zaehler_up 0$zaehler_up <= $links+$rechts $zaehler_up++ )
    {
        
        if ( 
$round $aktuelle_seite )
        {
            
$seite $aktuelle_seite $links $zaehler_up;
            
$link $anzahl_seiten $seite 1;
            
$ausgabe[] = ' <a href="gbook.php?page='.$seite.'">'.$seite.'</a> ';//<-fehler
        
}
        if ( 
$round $aktuelle_seite )
        {
            
$seite $aktuelle_seite $rechts $zahler_down;
            
$link $anzahl_seiten $seite 1;
            
$ausgabe[] = ' <a href="gbook.php?page='.$seite.'">'.$seite.'</a> ';//<-fehler
        
}
        if ( 
$round == $aktuelle_seite )
        {
            
$link $anzahl_seiten $aktuelle_seite 1;
            
            
$ausgabe[] = ' <strong>'.$aktuelle_seite.'</strong> ';//<-fehler
        
}
        
        
$round += 1;
        
$zahler_down -= 1;
            
    }
    
    
# Eine Seite weiter in Richtung Älteste
    
$older '';
    if( 
$aktuelle_seite != $anzahl_seiten )
    {
        
$older $aktuelle_seite 1;
        
$ausgabe[] = ' <a href="gbook.php?page='.$older.'">&gt;&gt;</a> ';
    }
    
    
# Link zur ältesten Seite
    
$last '';
    if( ( 
$anzahl_seiten $aktuelle_seite $rechts ) > )
    {
        
$ausgabe[] = ' <a href="gbook.php?page='$anzahl_seiten .'">&Auml;lteste</a> ';
    }
    
    return 
$ausgabe;

# $aktuelle Seite über die $_GET['page'] holen
# $anzahl_seiten über ein ->num_rows;
# $bereich: Anzahl der Links, links und rechts der aktuellen Seite
$aktuelle_seite=4;
$anzahl_seiten=10;
$bereich=2;
$seiten blaettern$aktuelle_seite$anzahl_seiten$bereich );

for ( 
$i 0$i count($seiten); $i++ )
{
    echo 
$seiten[$i];

?>
mfg

Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #4  
Alt 14.12.2009, 10:12:24
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
feuervogel befindet sich auf einem aufstrebenden Ast
AW: Was haltet ihr von dieser Blätterfunktion?

da du gefragt hast was man besser machen könnte: ich finde es ziemlich schlechten stil, ausgabe in eine funktion zu packen. weil wenn du die blätter-funktion wiederverwenden willst (wofür ja funktionen u.a. geschrieben werden) und du nicht gästebucheinträge blättern willst (sondern z.b. blogeinträge) musst du die funktion abändern und hast doppelten code. und wenn die datei nicht mehr gbook.php heißt sondern guestbook.php erst recht.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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
Suche in Textfile und Blätterfunktion der_carsten PHP Grundlagen 3 04.11.2006 16:06:17
Nachträgliche Blätterfunktion evilcrow PHP Grundlagen 4 22.06.2006 16:06:35
Blätterfunktion! Dönerman PHP Grundlagen 14 20.09.2005 15:42:24
Problem mit Blätterfunktion von www.3d-community.com/page.phps Slaughter PHP Grundlagen 4 30.11.2003 20:54:47
Wo kann ich erlernen, wie man eine Blätterfunktion erstellt? Slaughter PHP Grundlagen 2 14.10.2003 12:11:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:46:14 Uhr.


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


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