php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.03.2006, 01:51  
Gast
 
Beiträge: n/a
Standard Blätterfunktion in smartysystem

Hallo ich habe folgendes Problem.
Ich habe ein Script mit einem smartysystem und würde bei
einer Ausgabe gerne eine Blätterfunktion einfügen.
Diese Blätterfunktion funktioniert in einem anderen Script
sehr gut daher würde ich diese gerne übernehmen.

Hier mal die while-schleife für die bestehende Smartyausgabe
die Variabeln müssten folgende sein:
$count = gesetzte Anzahl der Einträge pro Seite
$i = aktueller Eintrag
$id = Anzahl der Einträge insgesamt

PHP-Code:
while($row $sql->FetchArray()) {
 
$i++;
 
$id=$row['id'];
 if(
$i<=$count){
 
array_push($messages, array(
  
'from'    =>    $row['sfrom'],
  
'to'    =>    $row['sto'],
  
'date'=>    date("d.m.Y, H:i:s"$row['date']),
  
'msg'=>    $row['msg'],
 ));
} else {
$sqlc = new SQLq("DELETE FROM {bs_pre}sent WHERE id='".$id."'");
$sqlc->Close();
};
};
$sql->FreeClose();
if(
$i==0$smarty->assign('keineintrag'true);
$smarty->assign('messages'$messages);
$smarty->assign('count'$count);
$smarty->assign('page''ausgabe.tpl');
}; 
und der Aufruf der Blätterfunktion würde folgendermassen aussehen :
PHP-Code:
     print buildPages($id$count 5$i,"index.php?.........); 
Hier mal die komplette Blätterfunktion :
PHP-Code:
function buildPages($total$per_page$shown_pages$current_page$LINK$LINK_ADD "") {
       if (
$shown_pages 3) {
            
$shown_pages 3;
        } elseif (
$shown_pages == 0) {
            
$shown_pages ++;
        }
        
$LINK str_replace("&p=".$current_page""$LINK);
        if (
$current_page === "") {
            
$current_page 1;
        }

        
$page_num = (int)($total $per_page);
        
$page_num += ($total $per_page) ? 0;
        
$offset $current_page - ($shown_pages 1) / 2;
        if  (
$offset > ($page_num $shown_pages 1)) {
            
$offset $page_num $shown_pages 1;
        }
        if (
$offset 1) {
            
$offset 1;
        }
        
$output "\r\n([b]$total[/b] Einträge auf [b]$page_num[/b] ".(($page_num 1) ? "Seiten" "Seite").")";
        
$output .= ($offset 1) ? "\r\n[<a ".$LINK_ADD." href=\"".$LINK."&p=1\" title=\"Erste\">&laquo;</a>]" "";
        
$offset_end = ($shown_pages $page_num) ? $offset $shown_pages $page_num 1;
        for (
$i $offset$i $offset_end$i++ ) {
             
$output .= ($i != $current_page) ?
                           
"\r\n[<a ".$LINK_ADD." href=\"".$LINK."&p=$i\">$i</a>]" :
                           
"\r\n[b]($i)[/b]";
        }
        
$output .= ($offset < ($page_num $shown_pages 1)) ?
                    
"\r\n[<a ".$LINK_ADD." href=\"".$LINK."&p=$page_num\" title=\"Letzte\">&raquo;</a>]" :
                    
"";

        return 
"<div align=\"center\">$output</div>

\r\n"
;
    } 
Für einen Tipp wäre ich uper dankbar, denn ich habe absolu keinen Plan von Smarty !

Gruss und Danke
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 17.03.2006, 07:55  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Und wie ist deine Frage nun ??
M3g4Star ist offline  
Alt 17.03.2006, 08:25  
Gast
 
Beiträge: n/a
Standard

Zitat:
Und wie ist deine Frage nun ??
Wie er die Blätterfunktion von einem Script in den anderen einbaut
 
Alt 17.03.2006, 09:37  
Gast
 
Beiträge: n/a
Standard

Hallo, sorry ich wusste nicht wie ich die Frage am besten stellen soll.
Ich meine s wie @CIX88 es scrieb, wie ich die Blätterfunktion in
die Schleife des anderen Scriptes integrieren kann !

Gruss und Danke
 
Alt 17.03.2006, 11:36  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Also zunäcst einmal ist dort ne Klammer zu viel ...



Aber Es ist wirklich schwer in so ein Smarty-System reinzudenken da wir ja von der Struktur und dem Aufbau etc. null Plan haben.

Du müsstest in dein Template einen "Platzhalter" einbauen den du dann mit der Funktion buildPages() füllst. Da dieese Funktion ja "nur" einen/mehrere Link/s erzeugt

Also so würde ich da vltl ran gehen abe rwenn du dir schon 'n Smarty-System bastelst msstest das ja auch können ...
M3g4Star ist offline  
Alt 18.03.2006, 22:19  
Erfahrener Benutzer
 
Registriert seit: 04.12.2005
Beiträge: 286
PHP-Kenntnisse:
Fortgeschritten
snatch-ic
Standard

du könntest dir auch paginate angucken:
http://www.phpinsider.com/php/code/SmartyPaginate/
snatch-ic 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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smarty blätterfunktion, smarty pagination, blätterfunktion smarty, blätterfunktion mit smarty, smarty paginate, \blätterfunktion smarty\, pagination smarty, blätterfunktion, smarty seitenblätter funktion, smarty blättern offset, blätterfunktion beispiel, smarty blätterfunktion php mit auswahl, smartypaginate example, blätterfunktion $per_page = 3;, smarty paging funktion, smarty-system, smarty seiten blättern pager, php seitenblätter funktion, smarty pagination einfügen, php assign funktionen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:19 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.