![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 6 Dołączył: 26.12.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam .
Chcę stworzyć aplikację która ma pokazywać zawartość dowolnej bazy danych Mysql. Aplikację można będzie sprzęgnąć z dowolną bazą danych mysql , w trzech krokach użytkownik poda dane potrzebne do utworzenia połączenia , wybierze nazwę bazy danych , i nazwę interesującej go tableli , aplikacja wyświetli zawartość tabeli w formie tabeli HTML czyli nazwy poszczególnych pól jako pierwszy wiersz , każdy następny wiersz będzie opowiadał wartościom tych pól w bazie danych . mam klasy takie jak : db -> łączy się z serwerem baz danych , pobiera listę baz i przechowuje w tablicy indeksowanej , pobiera listę tabel w wybranej przez użytkownika (za pomocą odpowiedniej metody) danych i przechowuje w tablicy indeksowanej . db_table-> korzystając z obiektu db , zbiera informacje o wybranej przez użytkownika tabeli , czyli liczba wierszy , liczba pól w jednym wierszu , informacje o poszczególnych polach , typ danych itp , oraz wartości poszczególnych pól . table -> korzystając z informacji przetrzymywanych w obiekcie db_table , klasa ta drukuje tablice HTML , w pierszym wierszu drukuje nazwy poszczególnych pól a w następnych wierszach ich zawartość . Problem polega na tym że : - nie wiem jak połączyć te klasy w jeden działający system , czy może utworzyć klasę np. system która będzie zarządzała obiektami poszczególnych klas i wyświetlała ich zawartość w odpowiednim momencie ? - czy dla każdej akcji odbywającej się w systemie ( np. podanie danych potrzebnych połączenia z bazą) tworzy się odpowiednią klasę ? - czy tak napisać klasy aby każda działała w każdym kroku czyli logowanie do serwera baz danych to jedna klasa , wyświetlanie listy dostępnych baz druga klasa , wyświetlanie listy tabel to następna klasa , i w końcu wyświetlanie tabel z bazy danych to ostatnia klasa . - jak rozwiązać problem aby nie wpisywać danych potrzebnych do połączenia z serwerem baz danych z każdym razem kiedy się wrócę i będę chciał zobaczyć dane innej bazy danych czy rozwiązaniem jest ustanowienie sesji ? Z góry dziękuję z podpowiedzi . |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
jak najbardziej.
Może powiem o niej conieco, żeby nie było później pytań. Najgorsze będzie stworzenie porządnego kontrollera, który to wszystko obsłuży... Przedstawie Ci jednak tylko ogólny zarys. Masz akcję: class Action_Index extends Application_Action { public function default() { $this->getModel('Index', 'getDatabases'); $this->getView('Index', 'showDatabases'); } } W klasie Application_Action znajdują się metody getModel() i getView(). W modelu pobierasz dane (musi byc extends Application_Model) i zapisujesz do zmiennej np. $thia->aParametrs['databases'] = array(); (aby sobie uławić możes stworzyć metody __set i __get) w widoku odczytujesz te wartosci i wywolujesz thema. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 17:21 |