![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym Wam zaprezentować 3 "szablony" klas, klasę kategorii, artykułu i pseudo-obsługi bazy danych. Te klasy nie są całkowicie gotowe ( ich funkcjonalność), ale daję je pod Wasze profesjonalne oko, żebyście już na początku mogli mnie pokierować na bardziej poprawne tory ![]() ![]() Z góry dzięki za każdą wypowiedź. Pozdrawiam! ![]()
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Źle!
Skoro tworzysz klasę do obslugi bazy danych to nie przenoś tej obsługi do innych. W ogóle nie ma sensu tworzyć oddzielnej klasy do bazy, i tak wykorzystujesz PDO, a nie tworzysz tu czegoś na miarę Doctrine DBAL (poczytaj, może wykorzystasz). Masz 2 możliwości: -obiekt artykułu dostaje obiekt PDO i sam wykonuje potrzebne zapytania -istnieje drugi obiekt, który wykorzystując obiekt artykułu zapisze dane korzystając z przekazanego mu obiektu PDO. Pomijam rozwiązania typu ORM, bo chyba nie tego oczekujesz, ale warto się nimi zainteresować (Doctrine, Propel). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czyli usunąć całkowicie tą klasę bazodanową?
Nie wiem do końca co masz na myśli mówiąc 'obiekt PDO', czy obiekt tej mojej klasy, czy czysty obiekt PDO? Jeśli ten czysty, to tworzę sobie w tym wypadku obiekt artykułu i dostarczam mu w parametrach do konstruktora uchwyt do bazy danych i w klasie artykuł już sobie operuję na bazie danych? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Czyste PDO.
Tak, jest to jedno z możliwych podejść. W konstruktorze raczej nie ustawiaj danych obiektu, a tylko wymagane zmienne. Istnienie klasy Database tylko dla utworzenia połączenia nie ma za bardzo sensu. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy sytuację:
Mam sobie tabelkę łączącą kategorie z artykułem, czyli kolumny to: id_kategorii, id_artykułu. Dodając w takim razie artykuł do bazy danych muszę równocześnie odwiedzić tą tabelkę i dodać wierz -id_artykuł-idkategorii. I teraz tak. Artykuł przyporządkowuję do kategorii za pomocą checkboxów, którcyh to wartości value wstawiałbym jako id_kategorii do tabeli. Wiadomo, że formularz z checkboxami to będzie tablica z kilkoma wartościami. Jak to sprawnie "obrobić"? Jak wziąć tą wartość id_artykułu, którą będę wstawiał? Pobrać wcześniej, i przy wpisywaniu kolejnych id_kategorii wpisywać id_artykułu powiększone o 1. W kilku słowach, jak to sprawnie rozwiązać? pozdrawiam ![]() Ten post edytował tukan 8.07.2012, 10:15:26 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 29.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
dodajesz artykul do tabeli artykuly
id dodanego artykulu wyciagniesz tak Kod $id_artykulu = mysql_insert_id() przechodzisz po wszystkich checkboxaxh i dla kazdego zaznaczonego dodajesz wiersz do tabeli artykul-kategoria wszystko mozna wykonac jednoczesnie po wcisnieciu submita Ten post edytował empty 10.07.2012, 07:30:00 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.08.2025 - 20:07 |