m@sote.pl
Wersja dokumentu: $Id: metabase_data.html,v 1.3 2003/11/16 21:27:29 maroslaw Exp $
Integralną częścią tej dokumentacji, jest dokumentacja Metabase.
Klasa MetabaseData jest klasą zawierającą funkcje ułatwiające pobieranie struktur danych i wykonywania podstawowych operacji bazodanowych, w oparciu bibliotekę Metabase. Wykorzystanie MetabaseData skraca czas przygotowania aplikacji oraz pozwala na tworzenie bardziej przejrzystego kodu. Dodatkowo klasa ta może posłużyć do budowania kolejnych bibliotek opierających się na w/w klasie np. do automatycznego budowania formularzy na podstawie danych z bazy itp.
W SOTEeSKLEP biblioteka znajduje się w lokalizacji: lib/MetabaseData/MetabaseData.php. Wywołanie tej klasy ma następującą postać:
Domyślnym obiektem jest obiekt o nazwie: $mdbd
Tworzenie obiektu ma następującą postać:
Jeśli chcemy odczytać dane z bazy danych, możemy użyć funkcji $mdbd->select(). Funkcja ta ma następującą postać:
$mdbd->select($columns,$table,$where,$data,$other)
Przykład:
SQL: SELECT name FROM main WHERE id=101
W wersji 1.0 obsugiwane są następujące typy danych (uwzględniane przy podstawianiu parametrów):
Jeśli zapytanie zwraca więcej niż 1 wartość, to funkcja select() zwraca tablicę z odczytanymi danymi. Np. jeśli w zapytaniu chcemy odczytać kilka danych i kilka wierszy np. dla zapytania:
Po wywołaniu funkcji select()1 uaktualniana jest wartość $mbdb->num_rows, która zawiera liczbę zwróconych wierszy w ostatnim zapytaniu SQL.
Funkcja query_select() służy do wykonania zapytania SELECT do bazy danych. Nie zwraca ona bezpośrednio danych, tylko zmienną $result, określającą wynik zapytania SQL. Funckję tą możemy wykorzystać w sytuacjach, kiedy chcemy odczytać np. tylko wybrane wiersze, lub zakres wierszy (np. od 3 do 7) z zapytania SQL. Do odczytawania danych ze struktury wskazanej przez query_select() służy funkcja read().
Parametry funkcji query_select() są takie same jest dla funkcji select().
Przykład:
SQL: SELECT name,producer FROM main WHERE id>1
Funkcja pozwala na odczytanie danych z wykonanego wcześniej (np. przez query_select() ) zapytania SQL.
$mdbd->read($result,$names,$rows)
Parametry:
Zapytanie: SELECT name,producer FROM main WHERE id>1
print ``
Funckja update() służy do aktualizacji danych w bazie. Wywołanie:
$mdbd->update($table,$set,$where,$data)
Parametry:
SQL: UPDATE main SET name=?,producer=? WHERE id=?
array(``nazwa 1'' => ''text'',
``producent 1'' => ''text'',
``1'' => ''int''
)
)
UPDATE main SET name='nazwa 1,producer='producent 1' WHERE id=1
to parametr $data, można pominąć, gdyż w SQL nie byłoby
żadnych parametrów do podstawienia.
Funkcja zwraca true jeśli dane zostaną poprawnie zaktualizowane
oraz false w p.w.
Funkcja insert() służy do dodawanie wpisów do tabeli. Wywołanie:
$mdbd->insert($table,$columns,$values,$data)
Parametry:
SQL: INSERT INTO main SET (name, producer) VALUES (?,?)
Funkcja delete() służy do usuwania wpisów do tabeli. Wywołanie:
$mdbd->delete($table,$where,$data)
Parametry:
SQL: DELETE FROM main WHERE id=?
Zalecane jest używanie tej klasy zamiast wprowadzania pełnego kodu obsługi Metabase. Klasa ta nie pozwala na dokonywanie dowolnych zapytań itp. do bazy danych, ale ujęte są w niej najczęstsze operacje wykonywane na bazie danych. W SOTEeSKLEP od wersji 2.6 obiekt tej klasy jest automatycznie generowany przy inicjacji bazy danych i jest dostępny pod nazwą $mdbd. Wcześniejsze wywołania klasy metabase.inc powinny zotsać stopniowo zastąpione przez wywołania odwołujące się do klasy MetabaseData.
Integralną częścią tej dokumentacji jest opis klasy HTML_Form.
Klasa DataForm jest rozszerzeniem klasy z PEAR HTML_Form. Bazuje ona na danych dostarczanych przez funkcje klasy MetabaseData. Służy ona do szybkiego budowania elementów formularza bezpośrednio z danych pobranych z bazy.
Do poprawnego działania DataForm wymagane są biblioteki MetabaseData i HTML_Form. Obie są automatycznie załaczane przy wywołaniu DataForm. Lokalizacja DataForm w SOTEeSKLEP:
Domyślnym obiektem jest obiekt o nazwie: $dbform
Tworzenie obiektu ma następującą postać:
Funkcja generuje element select formularza na podstawie danych pobranych z bazy. Wywołanie:
$dbform->db_add_select(&$data,$name,$title,$default, $size,$blank,$multiple,$attribs)
Parametry:
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.48)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir6468KEVxtV/lyx_tmpbuf0/metabase_data.tex
The translation was initiated by Marek Jakubowicz on 2003-11-16