Univerzální dataGrid
Už delší dobu mám v plánu, že budu zveřejňovat své třídy, které mi přijdou užitečné. První třída, kterou zveřejním se týká třídění, shlukování a řazení dat v tabulce. Nazval jsem jí univerzální dataGrid protože je to hodně jednoduchá a všeobecná třída. Osobně jí používám víc rozšířenou. Tohle je jen základ, který by měl na obyčejnou práci s daty bohatě stačit. Pro správné fungování třídy doporučují min. verzi PHP 5.0.
Kdyby měl někdo velký zájem mohu poskytnou zdrojové kódy, které pracují se Smarty nebo zobrazují ve výpisu obrázky a používají různé fce. Dokonce mám i šablonu, kde se místo do tabulky data zobrazují ve stromové struktuře (tu uveřejním později).
Tuto třídu budu licencovat pod GNU General Public License. Stručně řečeno můžete si jí volně stáhnout, upravovat, rozšiřovat ale také licencovat pod GNU GPL.
Co třída dovede. Základem je aby třída tahala data z databáze a ty přehledně zobrazovala na výstupu. Vy si v souboru ve kterém budete třídu volat jen řekněte jakou tabulku chci použít, jaké sloupečky chci zobrazit a zda budu používat WHERE restrikci. Nechal jsem tam jedno rozšíření, které v tabulce vypíše odkazy pro editaci a smazání.
Výslednou tabulku můžete tedy řadit podle všech sloupů, můžete si nastavit stránkování (počet položek na stránku).
Příklad při plném užití:
- Nejdříve se načtou všechny potřebné soubory,
- vytvořím instanci třídy dataGrid se vstupními parametry (připojení do DB [mysql server, uživatel, heslo, databáze, kódování], název tabulky, ostatní ponechám),
- do proměnné vyplním jaké sloupečky chci z tabulky vypisovat (vždy je to název [který se bude vypisovat v tabulce] => název sloupečku v tabulce),
- je možnost nastavení stránkování (počet řádků na jedu stránku),
- mohu nastavit WHERE restrikci (jaký sloupeček, jaká hodnota, operátor),
- mohu nastavit speciální odkazy (př. edit a delete),
- dále sestavím tabulku,
- vypíšu tabulku.
//nacteni potrebnych souboru
require('./conf/conf.php');
require('./dataGrid.php');
//vytvoreni instance tridy dataGrid s potrebnymi vstupnimi parametry
$classDataGrid = new dataGrid($_db, 'nazev_tabulky', $_GET['page'], $_GET['sort'],
$_GET['desc']);
//nastaveni hodnot ktere chceme mit v dataGridu
$classDataGrid->arrItem = array ('id' => 'id', 'kód zboží' =>'code', 'jméno'
=> ' title','výrobce' => 'name','naše cena' => 'oursPrice');
//nastaveni poctu polozek na stranku
$classDataGrid->setPagging(100);
//nastaveni where restrikce (jaky sloupec, jaka hodnota, porovnani)
$classDataGrid->setWhereRestriction('oursPrice', '10000', '>');
//nastaveni edit a delete
$classDataGrid->editLink = kam_mam_ukazovat;
$classDataGrid->deleteLink = kam_mam_ukazovat;
//sestaveni hodnot
$classDataGrid->getList();
//zobrazi tabulku
echo $classDataGrid->showTable();
funkční příklad zde: univerzální dataGrid.
Třídu s příkladem je možné stáhnout zde: zdrojové kódy univerzální dataGrid.
Příspěvek vložen: 2007-10-25 11:29:08, autor: Huňáry
pěkné mám něco podobného na vkládání dat do databáze :) už mě štvalo ručně psát inputy ... každopádně pěkná práce MichaleReagovat
Příspěvek vložen: 2007-10-25 12:23:59, autor: HarvyM
No vidíš to bych sem mohl dát příště :) já mám uni třídu na práci s MySQL - insert, update, delete. Tak příště!Reagovat