php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.04.2011, 12:01  
Erfahrener Benutzer
 
Registriert seit: 08.08.2009
Beiträge: 195
PHP-Kenntnisse:
Fortgeschritten
da.eXecutoR befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Universelle Paging Class einbinden

Hallo zusammen

In verschiedenen Klassen habe ich Datenbank abfragen wie zum Beispiel diese hier:

PHP-Code:
public function getMyEvents($eStart$eCount){

        
// Get all my Events for the startup view
        
$sql $this->con->db->prepare("Select eI.ID,
                                               eI.projectID,
                                               eI.eventName,
                                               eI.eventStart
                                        FROM
                                               nw_eventIndex eI
                                        LEFT JOIN
                                               nw_eventMembers eM
                                        ON
                                               eI.ID = eM.eventID
                                        WHERE
                                               eM.userID = :userID
                                        AND
                                               eI.eventStart > NOW()
                                        AND
                                               eI.deleteFlag = 0
                                        ORDER BY
                                               eventStart
                                        ASC
                                        LIMIT :eStart, :eCount"
);
        
$sql->bindParam(':userID'$_SESSION['system']['user']['id'],PDO::PARAM_INT);
        
$sql->bindValue(':eStart', (int)$eStartPDO::PARAM_INT);
        
$sql->bindValue(':eCount', (int)$eCountPDO::PARAM_INT);
        
$sql->execute();
        return 
$sql->fetchAll();
    } 
Damit gebe ich auf einer Seite die nächsten anstehenden 5 Termine aus. Nun würde ich aber gerne ein Paging erstellen damit der Benutzer auch die Termine 6 - 10 und 11 - 15 ansehen kann.

Dieses Problem tritt aber bei diversen Klassen auf. Wie implementiere ich da am einfachsten eine Paging Klasse?

Ich hab mir folgendes überlegt, ich erstelle eine neue Klasse Paging. Diese wird dann via;

$paging = new paging($rowCount, $rowsPage, $currentPage);

aufgerufen und erledigt den Rest wie Erste | 2 | 3 | ... | 24 | Letzte

Nun aber wie hole ich die Anzahl Datensätze aus der Datenbank ohne das monströse Query zweimal ausführen zu müssen?

Vielen Dank für eure Ideen.

Gruss

eXe
__________________
It's not a bug. It's a feature!
da.eXecutoR ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.04.2011, 12:04  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Nun aber wie hole ich die Anzahl Datensätze aus der Datenbank ohne das monströse Query zweimal ausführen zu müssen?
http://dev.mysql.com/doc/refman/5.0/...ion_found-rows
cycap ist offline   Mit Zitat antworten
Alt 13.04.2011, 12:47  
Erfahrener Benutzer
 
Registriert seit: 08.08.2009
Beiträge: 195
PHP-Kenntnisse:
Fortgeschritten
da.eXecutoR befindet sich auf einem aufstrebenden Ast
Standard

You are genius! Danke vielmal, hab die Funktion noch nie gesehen, da fragt man sich wozu man Bücher kauft und druch welzt

Vielen Dank!
__________________
It's not a bug. It's a feature!
da.eXecutoR ist offline   Mit Zitat antworten
Alt 13.04.2011, 13:18  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Kleiner Tipp am Rande: schneller als das gleiche Query mit einem COUNT() nochmal auszuführen, ist die o.g. Variante auch nicht: http://www.php.de/datenbanken/77730-...ensaetzen.html (effizientes Zählen von Datensätzen)

Sag mir bescheid wenn du was schnelleres findest
cycap ist offline   Mit Zitat antworten
Antwort


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
İnstallation von Propel unter Windows und Ohne PEAR sysr PHP Einsteiger 4 07.02.2011 10:56
[Erledigt] Class - Trigger bei Methodenaufruf Broady PHP-Fortgeschrittene 9 30.07.2010 13:55
Mercury-Mailserver in class.phpailer einbinden fender PHP Tipps 2010 0 12.03.2010 17:34
Kleine Themplate Class Deltachaos PHP-Fortgeschrittene 8 22.01.2010 22:29
Class Projekt verstehen? reeky PHP Tipps 2009 23 09.09.2009 20:32
[Erledigt] Datenbank Class Shuyio88 PHP Tipps 2009 2 02.03.2009 19:47
Polnischen Font in PDFLib einbinden nopileos PHP Tipps 2008 3 11.08.2008 12:21
Class Vars fmueller PHP Tipps 2006 10 14.02.2006 19:54
Mehrere Div-Layer per Class schliessen Diego1978 HTML, Usability und Barrierefreiheit 4 02.12.2005 12:10
PHP Class Datei Basirende Datenbank mit MySQL Syntax atom-dragon Beitragsarchiv 4 01.08.2005 06:57
Thema: class; Problem: Grundlegende :) PHP Tipps 2005-2 4 13.07.2005 18:40
Class -- Funktion Creativ PHP Tipps 2005 2 30.03.2005 23:10
a mouseover class ändern 022.9 HTML, Usability und Barrierefreiheit 4 18.02.2005 15:51
Richtiges Einbinden Mano PHP Tipps 2005 1 04.01.2005 19:40
class einbinden PHP Tipps 2004 3 11.09.2004 10:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php paging class, php paging, paging class, php class in class einbinden, php pdo klasse einbinden, php pager class, paging php, php einbinden klassen, php classen von sql abfragen einbinden, propel einbinden, klassen einbinden php html, pagin class php, php paging klasse, php sql paging class, php sql pagingclass, paging erstellen, class einbinden php, paging homepage einbinden, php gleichen querry nochmal ausführen, sql pdo::param_int mysql::param_int

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