Loading...

Pobieranie danych

Aby pobrać dane z bazy danych musimy wykonać następujące kroki:
 

1. Przygotować obiekt naszej tabeli

Z poziomu PHP przygotowanie obiektu wygląda następująco:
$pagesDB = new pagesDB();

Gdzie nazwa obiektu jest nazwą tabeli z dodatkiem DB na końcu.
Tak przygotowaną zmienną $pagesDB możemy wykorzystać do wysyłania zapytań do bazy danych za pomocą naszego frameworka.

 

2. Wysłanie zapytania

Aby dokonać operacji na bazie danych należy wywołać odpowiednią metodę dostępną dla danej tabeli, na przykład:
//Metody ogólne
//Zwraca podstrony o statusie równym 0 i sortuje je po pozycji
$deletedPages = $pagesDB->fetchAll("status=0",'position ASC','*');

//Zwraca strone o numerze ID równym numerowi przekazanemu w GET pod parametrem "id"
$page = $pagesDB->fetchRow("id={$this->request->getVariable('id')}");

//Aktualizuje pozycję obrazków
$imagesDb->updateRow(array('position' => $position),"id = {$element['id']}");


//Metody specyficzne dla danej tabeli
//Usuwa element główny oraz ich elementy zależne
$pagesDB->deleteTreeItems($this->request->getVariable('id'));

//Pobiera listę numerów ID zależnych podstron od podstrony o numerze ID przekazanym w GET
$children = $pagesDB->getDependentIdListString($this->request->getVariable('id'));

Metody domyślnie zwracają dane w formie obiektu, można to zmienić i zwracać dane w formie tablicy, jednak obiekt jest znacznie wygodniejszą formą.

Przykładowy wynik zapytania pobierającego podstrony:
//Kod wyświetli nam wynik
$pagesDB = new pagesDB();
$page = $pagesDB->fetchAll("id=423");
debugger::dprint($page);

Wynik
Array
(
    [0] => stdClass Object
        (
            [id] => 423
            [parentId] => 390
            [type] => 11
            [status] => 2
            [position] => 4
            [name] => Menu główne
            [content] => 
            [createTime] => 2012-09-02 09:29:06
            [updateTime] => 2012-12-10 00:32:50
            [createIP] => 127.0.0.1
            [updateIp] => ::1
            [urlKey] => menu-glowne-5
            [tpl] => simple_page.tpl
            [title] => 
            [description] => 
            [keywords] => 
            [tags] => 
            [views] => 6
            [date] => 
            [lock] => 0
            [defaultTpl] => simple_page.tpl
            [authorId] => 5
            [rate] => 0
            [ekey] => ppdhyfzknpnt
            [hasIcon] => 
            [hasImage] => 
            [langId] => 390
            [menuCssClass] => 
            [searchable] => 1
        )
)

Do wykonania zapytania mamy dostępne metody, każda z tabel ma swoje unikalne metody, które wykorzystują zestaw metod podstawowych, aby sprawdzić jakie metody dana tabela posiada należy zerknąć w dokumentację lub w kod modelu.

 

3. Metody podstawowe

  • select($where = null, $order = null, $what = '*',$limit = null, $groupby = null, $bindValues = array() )
  • insert(array $data = array())
  • update($column, $value, $where, $bindValues = array() )
  • updateRow($data, $where, $bindValues = array() )
  • deleteRows($where, $bindValues = array() )
  • delete($id)
  • fetchRow($where = null, $order = null, $what = '*', $bindValues = array(), $fetchType = PDO::FETCH_OBJ)
  • fetchAll($where = null, $order = null, $what = '*', $limit = null, $groupby = null, $bindValues = array(),$fetchType = PDO::FETCH_OBJ)
  • fetchTextSearch($searchText,array $columns, $where = null, $order = null, $what = '*', $limit = null, $groupby = null, $bindValues = array() )
  • fetchCount($where = null, $bindValues = array() )
  • fetchCountGroup($groupBy,$where = null,$order = null,$what = '*', $limit = null, $bindValues = array() )
  • fetchSum($sumColumn,$where = null,$order = null,$what = '*', $limit = null, $bindValues = array() )
  • fetchGroup($groupBy, $where = null, $order = null, $what = '*', $limit = null, $bindValues = array())
  • set($id,$column,$value)
  • get($id,$column)

Nieustannie pracujemy nad rozwojem Windu CMS!

Zaglądając na stronę windu dowiesz się o nowościach i planach związanych z CMS’em

2022-12-05 Windu 4.1 - aktualizacja

Właśnie zaktualizowaliśmy Windu do wersji 4.1: Wsparcie dla PHP 8.0 i 8.1 Poprawienie edytora kodu Poprawienie mechanizmy generowania pól dodatkowych Dodanie...

2021-01-27 Windu 4.0 - nowa aktualizacja

Po 6 latach przerwy postanowiliśmy przygotować i dodać nową wersje naszego systemu CMS. Windu 4.0 dostępne do pobierania oraz aktualizowania, wprowadziliśmy w nim między...

2014-05-28 Windu 3.1 - lista zmian

Windu 3.1 dostępne do pobierania oraz aktualizowania, wprwadziliśmy w nim między innymi:   Aktualizacja modułu forum, dokończenie i poprawienie obecnego w wersji 3.1...

Kup licencję PRO!

Już teraz aktywuj mnóstwo dodatków w twoim Windu!

Kup licencję PRO