phpbar.de logo

Mailinglisten-Archive

[php] Erweiterte Pager/RecordSet

[php] Erweiterte Pager/RecordSet

Christian Thiele ChristianThiele at gmx.de
Mon Jun 7 22:44:59 CEST 2004


Hallo,

ich versuche gerade ein kleines Web-Application-Framework zu zimmern, soweit
so gut - größtenteils versuche ich PEAR-Klassen zu nutzen. Nun brauche ich
eine Klasse oder mehrere die folgendes unterstützen:

- Eingabe ist eine einfache SQL-Query
- Ausgabe ist ein Resultset

optional dazwischen Sortierungen von ein/mehreren Feldern, die genaue
Reihenfolge usw. wird beispielsweise in einer Session gespeichert, natürlich
muß ein Pager möglich sein sowie damit verbunden eine LIMIT-Funktionalität.

Und ein Decorator, damit man ein Master-Detail-View bauen kann...also
einfache Links die in dem Array stecken und bei Klick eine von mir bestimmte
Aktion ausführen (löschen, editieren, ...)

Alles in allem ein Recordset, eine Web-Komponente zum Aufbau von Listen mit
Pager ähnlich wie in ASP.net. Gesehen hab ich das auch schon mal bei WACT,
aber dort zu eng mit deren Templates gekoppelt.

Hat jemand sowas gesehen? Kennt jemand sowas oder gibts sowas net?

PS: Das ganze sollte objektorientiert sein...

PPS: Kann es sein das folgendes Beispiel aus der Pear::DB_Pager nicht
funktioniert? In $nrows befindet sich ja immer mein LIMIT, aber ich brauch
doch die gesamte Anzahl von gefundenen Datensätze...damit klappt der Pager
nicht...

 $db = DB::connect('your DSN string');
 $from = 0;   // The row to start to fetch from (you might want to get this
 $limit = 10; // The number of results per page
 $maxpages = 10; // The number of pages for displaying in the pager
(optional)
 $res = $db->limitQuery($sql, $from, $limit);
 $nrows = 0; // Alternative you could use $res->numRows()
 while ($row = $res->fetchrow()) {
    // XXX code for building the page here
     $nrows++;
 }
 $data = DB_Pager::getData($from, $limit, $nrows, $maxpages);

--Christian


php::bar PHP Wiki   -   Listenarchive