php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.04.2005, 07:05  
Mex
Benutzer
 
Registriert seit: 17.11.2003
Beiträge: 66
Mex
Standard Interesse an "Seiten-blättern-Scripts"?

Hi!

Bin mir nicht sicher, ob dies das richtige Forum ist.
Ich habe für ein Galeriescript und zu Übungszwecken vier "Seiten-blättern-Scripte" geschreiben:

extreme simple
›› simple
››› extended
›››› extreme extended

Ich habe mir überlegt, dass sowas für mache vielleicht noch nützlich wäre. Also falls Interesse besteht, kann ich die Scripte gerne mal hier Posten.

Gruss Mex
Mex ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.04.2005, 07:48  
Gast
 
Beiträge: n/a
Standard

ja hätte interesse a, extreme extended script

wäre cool wenn du den mal posten könntest
 
Alt 19.04.2005, 12:58  
Mex
Benutzer
 
Registriert seit: 17.11.2003
Beiträge: 66
Mex
Standard

Kein Problem. Hier, bitteschön:
PS: Habs extra ein bisschen "mehrzeilig" geschreiben, damit mans besser bearbeiten kann.
PHP-Code:
<?php

// Variablen festlegen
$elemente = array('Zeus''Hera''Poseidon''Aphrodite''Hephaistos''Dionysos''Apollon''Hermes''Demeter''Artemis''Athene''Ares''Hestia''Eris''Hades');
$elementeproseite 2;
$maxanzahllinks 5// Nur ungerade Zahlen
$anzahlelemente count($elemente);

$datei $PHP_SELF;
$seite $_GET['seite'];
if (!
$seite$seite 1;
$anzahlseiten ceil($anzahlelemente $elementeproseite);


// Elemente auflisten
if ($seite) {
    
$i = ($seite $elementeproseite) - $elementeproseite;
    
$austritt $seite $elementeproseite;
}
else {
    
$i 0;
    
$austritt $elementeproseite;
}

for (
$i$i $austritt$i++) {
    if (
$elemente[$i]) {
        echo 
$elemente[$i];
        echo 
'
'
;
    }
}


// Seitenauswahl
if ($seite > (($maxanzahllinks 1) / 2) + 1) {
    echo 
'[';
    echo 
'[url="'.$datei.'?seite=1"]&laquo;[/url]';
    echo 
'] ';
}

if (
$seite 1) {
    echo 
'[';
    echo 
'[url="'.$datei.'?seite='.($seite 1).'"]‹[/url]';
    echo 
'] ';
}

if (
$maxanzahllinks) {
    if (
$seite - (($maxanzahllinks 1) / 2) <= 1) {
        
$anfang 1;
        
$ende $maxanzahllinks;
    }
    elseif (
$seite + (($maxanzahllinks 1) / 2) >= $anzahlseiten) {
        
$ende $anzahlseiten;
        
$anfang $ende $maxanzahllinks 1;
    }
    else {
        
$anfang $seite - (($maxanzahllinks 1) / 2);
        
$ende $anfang $maxanzahllinks 1;
    }
}
else {
    
$anfang 1;
    
$ende $anzahlseiten;
}
$seitenanzeige 1;
for (
$i 0$i $anzahlelemente$i++) {
    if (
$i $elementeproseite == && $anzahlelemente $elementeproseite) {
        if (
$seitenanzeige >= $anfang && $seitenanzeige <= $ende) {
            if (
$seitenanzeige == $seite) {
                echo 
'(';
                echo 
$seitenanzeige;
                echo 
')';
            }
            else {
                echo 
'[';
                echo 
'[url="'.$datei.'?seite='.$seitenanzeige.'"]'.$seitenanzeige.'[/url]';
                echo 
']';
            }
            if (
$anzahlseiten != $seitenanzeige) {
                echo 
' ';
            }
        }
        
$seitenanzeige++;
    }
}

if (
$seite $anzahlseiten) {
    echo 
' [';
    echo 
'[url="'.$datei.'?seite='.($seite 1).'"]›[/url]';
    echo 
']';
}

if (
$seite + (($maxanzahllinks 1) / 2) < $anzahlseiten) {
    echo 
' [';
    echo 
'[url="'.$datei.'?seite='.$anzahlseiten.'"]&raquo;[/url]';
    echo 
']';
}
?>
Mex ist offline  
Alt 19.04.2005, 15:08  
Gast
 
Beiträge: n/a
Standard

@Mex:
Colle Idee von dir. Ich würde eigendlich mal alle sehen wollen, rein aus Interesse. Und vielleicht wäre es ja möglich das "extreme extendet" in den Tutorialbereich zu tun!?
 
Alt 19.04.2005, 15:09  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

dafür kannst du mir den als pn schicken.
Nur Moderatoren können dort threads starten.
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 19.04.2005, 21:25  
Mex
Benutzer
 
Registriert seit: 17.11.2003
Beiträge: 66
Mex
Standard

Also ich habe alle Scripts mal in eine ZIP-Datei gepackt und raufgeladen.
Von mir aus können sie gerne in den Tutorial-Beriech gestellt werden.

Download der vier Scripte
Mex ist offline  
Alt 19.04.2005, 21:39  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Ich hoffe du haust mich jetzt nicht ... aber eine Klasse, die ich Slider_Simple getauft habe ... geht sogar noch über deine "extreme extended" hinaus ... allerdings nicht viel ^^ *hust*



Aber ich schätze, deine Scripte machen sich als Tuts gar nicht mal schlecht. Das meiste spricht für sich selbst. Auch kommst du mit weniger Code aus *g*
Guradia ist offline  
Alt 19.04.2005, 21:45  
Mex
Benutzer
 
Registriert seit: 17.11.2003
Beiträge: 66
Mex
Standard

Zitat:
Zitat von Guradia
Ich hoffe du haust mich jetzt nicht ... aber eine Klasse, die ich Slider_Simple getauft habe ... geht sogar noch über deine "extreme extended" hinaus ... allerdings nicht viel ^^ *hust*



Aber ich schätze, deine Scripte machen sich als Tuts gar nicht mal schlecht. Das meiste spricht für sich selbst. Auch kommst du mit weniger Code aus *g*
Echt? Kannst du das Script mal posten?
Was kann denn dein simple-Script noch mehr als mein extended-Script? :wink:
Mex ist offline  
Alt 19.04.2005, 22:10  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Mex
Echt? Kannst du das Script mal posten?
Was kann denn dein simple-Script noch mehr als mein extended-Script? :wink:

Sicher ... kein Problem, allerdings wirst du mit dem Ding so wohl nix anfangen können ^^

Aber hier mal, was es ausspucken könnte:

Code:
<< [1] [2] [3] ..<.. [23] [24] [25] _26_ [27] [28] [29] ..>.. [97] [98] [99] >>


PHP-Code:
<?php


class Slider_Simple
{
    
/**
     * @var string Name of DB-Table wich stores the 
     */
    
private $table;
    
    
/**
     * 
     */
    
public $URI_Builder;
    
    protected 
$start 0;
    protected 
$stop 0;
    protected 
$perPage 5;
    protected 
$page;
    protected 
$name;
    protected 
$AnchorName 'slider';

    protected 
$steps;
    protected 
$pages;
    protected 
$onPage 1;

    protected 
$html;
    
    protected 
$records;
    public 
$dbc;

    
/**
     * @var int How Many NavLinks to display on the Left
     */
    
protected $slideLeft 1;
    
    
/**
     * @var int Sets the Number of Slides surrounding the actual Page 
     * @deprecated version - 25.01.2005
     */
    
protected $slideLength 7;
    
    
/**
     * @var int Sets the Number of Slides surrounding the actual Page
     */
    
protected $slides 3;
    
    
/**
     * @var int How Many NavLinks to display on the Right
     */
    
protected $slideRight 1;

    public function 
__construct($FromTable$WithWhere null)
    {
        
$this->FromTable $FromTable;
        
$this->WithWhere $WithWhere;
        
        
$this->Parse();
    }
    
    protected function 
Load_Records()
    {
        
$sql "
            SELECT  count(*) AS records
            FROM    `"
.$this->FromTable."`
            "
.$this->WithWhere."
        "
;
        
$res $this->db->query($sql);
        if (
PEAR::isError($res))
            throw new 
Exception($res->toString());
                
        
$res->fetchInto($row);
        
        
$this->records $row->records;
    }
    
    public function 
Parse()
    {
        if (isset(
$_REQUEST['showpage']))
            
$this->onPage $_REQUEST['showpage'];
    }

    function 
setSteps ($steps)
    {
        
$this->steps $steps;
    }
    function 
setTable ($table)
    {
        
$this->table $table;
    }
    
    function 
setName ($name)
    {
        
$this->name $name;
    }
    function 
getTable()
    {
        return 
$this->table;
    }
    function 
GetStart()
    {
        return 
$this->start;
    }
    function 
getStop()
    {
        return 
$this->stop;
    }
    function 
getPage()
    {
        return 
$this->onPage;
    }
    
    function 
GetWidth()
    {
        return 
$this->perPage;
    }
    
    function 
SetWidth($Width)
    {
        
$this->perPage $Width;
    }

  
    function 
Prepare()
    {
        
$this->Load_Records();
        
        
/* Getting amount of Pages */
        
$this->pages ceil($this->records $this->perPage);
        
        
/* Setting With Records to Start with */
        
$this->start $this->onPage $this->perPage $this->perPage;
        
        
$this->Build_PagesToDisplay();        
    }


    
/**
     * Filld $this->displayPages on Indexes that shall be displayed as Links in
     * Navigator
     */
    
function Build_PagesToDisplay()
    {
        
$this->displayPages = array();
        
        
/* Starter; Fills Indexes on Start of Navigation */
        
for ($c 1$c <= $this->slideLeft$c++) {
            
$this->displayPages[$c] = true;
        }

        
/* The Slider; Fills Indexes of Actual Page and surroundings, might set
         * Indexes that are allready set */
        
$start $this->onPage $this->slides;
        
// Making sure to start on 1
        
if ($start 1)
            
$start 1;

        for (
$c $start$c <= $this->onPage $this->slides$c++) {
            if (
$c <= $this->pages// Making sure to not exceed max pages
                
$this->displayPages[$c] = true;
        }

        
/* Ender; Fill Indexes on End of Navigation, might set Indexes that are
         * allready set */
        
$start $this->pages $this->slideRight;
        
// Making sure to start on 1, in case pages are to less for this slider 
        
if ($start 1)
            
$start 1;

        for (
$c $start$c <= $this->pages$c++) {
            
$this->displayPages[$c] = true;
        }
    }


    function 
GetNavigation() {
        
$this->Build_Navigator();
        
        return 
$this->html;        
    }
    
    function 
Build_Navigator()
    {
        
$this->html '';
        
$this->html .= '<a id="'.$this->AnchorName.'"></a>'."\n";
        
$this->html .= '<ul class="slider">'."\n";
        
        if (
$this->onPage 1)
            
$this->html .= $this->GetNavItem($this->onPage 1$this->Locale->GetString('Slider_Backward'));

        
$lastPage 0;
        foreach (
$this->displayPages as $page => $dump) {
            
            if (
$page != $lastPage) {
                
// We Jumped some!                
            
                
if ($page $this->onPage) {
                    
$this->html .= '<li class="clean">..&lt;..'."\n";
                } else {
                    
$this->html .= '<li class="clean">..&gt;..'."\n";
                }
            }

            
$lastPage $this->page $page;
            
$this->GetNavItem();
        }
        
        if (
$this->onPage $this->page)
            
$this->html .= $this->GetNavItem($this->onPage 1$this->Locale->GetString('Slider_Foreward'));
            
        
$this->html .= '[/list]'."\n";
    }

    function 
GetNavItem($page null$title null)
    {
        
$htmlClass '';
        
        if (
is_null($page))
            
$page $this->page;
            
        if (
is_null($title))
            
$title $page;
            
        if (
$page == $this->onPage)
            
$htmlClass ' class="active"';

        
$this->html .=    '<li'.$htmlClass.'>'.
                        
$this->URI_Builder->BuildTag(array(
                            
'title'        => $title,
                            
'params'    => array('showpage' => $page),
                            
'anchor'    => $this->AnchorName,
                            )).
                        
''."\n";
    }
}

?>
Guradia ist offline  
Alt 19.04.2005, 23:39  
Mex
Benutzer
 
Registriert seit: 17.11.2003
Beiträge: 66
Mex
Standard

Also deines scheint mir wirklich "noch" komplexer zu sein. Aber ehrlich gesagt erfüllt mein simple-Script meine Ansprüche schon mehr als genug.
Mex ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Suche] Leute die Interesse... Beitragsarchiv 15 27.01.2005 02:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php seitenblätterfunktion, seitenblättern html, script zum seiten blättern, script seiten blättern, blätterfunktion mit seitenauswahl php, blättern script php, seitenblättern php, php pear $res = $db->query blätterfunktion, blättern scripts, php seiten blättern script, seiten blättern php

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.