Complex PHP5 library for performing most common operations over mySQL tables - list, load, save, edit.
Komplexní PHP5 knihovna pro provádění nejčastějších operací nad mySQL tabulka
The library is designed to be a base for common operations over the mySQL database in web-page runtime. Supports most common mySQL operations like load, save, count and list records. Expects only one database on instance (defined in config file).
Contains three key-classes:
- myEngine - base class for loading, saving, executing SQL commands, basic error handling etc
- myRecord - class for defining table specific behavior. Defines listRecord, standaloneView and editor functions for one table which are helping (and unifiing) the output and operations over the tables. Standalone is a full view of record content, listRecord is brief (list) entry and editor is a piece of HTML code for editing the content of record.
- myList - controls, how to list (dump) the content of the table. If feeded with myRecord, lists instantly the content of the table - most common operation on web ;) The listing can be driven by paginator (page-controlling link set) and custom filtering SQL sentence.
Details in function headers in myEngine.php file.
Used in MarkWare, KODA, Vela, MAC projects.
Knihovna navržená jako základ pro nejčastějčí operace s mySQL databází ve webových aplikacích. Podporuje nejčastější mySQL akce jako nahrání a uložení dat, potčy a výpisy. Předpokládá se jedna databáze na instanci definovaná v konfiguračním souboru.
Obsahuje tři klíčové třídy:
- myEngine - základní třída pro nahrávání, ukládání, provádění SQL příkazů a jednoduchoé ošetření chyb.
- myRecord - třída pro definici specifického chování dat v dané tabulce. Definuje funkce listRecord, standaloneView a editor, které pomáhají a sjednocují chování a výstup. Standalone je plný výpis dané položky, listRecord je zkrácený výpis pro použití v seznamech, editor je kus HTML kódu určený ke změně/editaci obsahu položky.
- myList - řídí výpis seznamu položek tabulky. Pokud je "nakrmen" objektem myRecord, slouží ke snadnému vytváření seznamů - což je nejčastější operace na webu ;) Výpis může být řízen paginatorem (sadou odkazů pro stránkovou navigaci) a uživatelským SQL filtrem.
Podrobnosti jsou zřejmé z popisu jednotlivých funkcí v myEngine.php.
Použito v projektech: MarkWare, KODA, Vela, MAC.

Download
Code demo
Ukázka kódu
include "myEngine.php";
// ----------------------------- RECORD
class program extends myRecord
{
var $table='program';
var $keyfield='id';
function listRecord()
{
echo
$this->dbrow['datum'].' '.
$this->dbrow['subject'].' '.
$this->dbrow['note'];
}
function listHead() {echo 'Datum / subject / note ';}
}
// ----------------------------- LIST
class pList extends myList
{
var $recordsPerPage = 20;
var $table = "program";
function query($table,$sortkey)
{return "FROM `$table` ORDER BY `year` DESC, `month` DESC ";}
}
// ---------------------------- MAIN
$prg = new program();
$lst = new pList($prg);
$lst->make();
?>