Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
wyciąganie userów z bazy obiektowe - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: wyciąganie userów z bazy obiektowe (/thread-wyciaganie-userow-z-bazy-obiektowe)



wyciąganie userów z bazy obiektowe - kowal88 - 27-12-2012

Witajcie, wiem, że to co napisałem pewnie nie stało nigdy obok obiektowej aplikacji Smile, ale jest to moje tak jakby pierwsze ćwiczenie w tym świecie dlateog prosze o wyrozumiałość Smile. Napisałem sobie prosty systemik w którym dodaje userów, loguje i sprawdzam czy dany user istnieje w bazie, jednak mam problem gdyż potrzebuję funkcji wyciągającej WSZYSTKICH userów z bazy funkcja ta to getAllUser(), wiem, że $this mi się nadpisuje po każdym przejechaniu pętli i finalnie otrzymuje dalej jednego usera ostatniego z bazy Sad, jak inaczej się za to zabrać? Moja cała klasa tu:

http://www.wklej.eu/index.php?id=1fed8d8935

myślałem, żeby w tej pętli tworzyć nowe obiekty, ale i tak mi to nic nie daje- nie wiem jak się do tego dobrać w widoku aplikacji. RObiąc coś takiego:

Kod PHP:
include 'lib/common.php';
include 
'lib/class/User.class.php';

$user = new User();
print_r($user->getAllUser());
 echo
'<hr /><br /><br />Imię:' $user->imie

w princie dostaje tablice ze wszystkimi userami, ale kiedy robie echo $user->imie to dostaje imię tylko ostatniego (ze względu ze napisało się w this). Proszę o jakieś wskazówki jak się takie rzeczy powinno robić tylko narazie bez wzorców bo z samą obiektówką mam problem, a jak dorzucę wzorce to juz w ogole padne Wink.


RE: wyciąganie userów z bazy obiektowe - Pedro84 - 28-12-2012

Rada od bardziej doświadczonego kolegi: nie pisz takich pseudo-klasek, bo tylko uczysz się złych nawyków. Usiądź, weź książkę, czytaj, staraj się zrozumieć i dopiero wtedy pisz. Zaglądaj do książki często.

Błędy, tylko rzuciłem okiem:
1. MySQLi [WTF?]
2. W metodzie brak return, wyświetlasz tylko...

Zrób sobie kolekcję i ją po prostu zwróć.


RE: wyciąganie userów z bazy obiektowe - Radian - 29-12-2012

Mogę jeszcze napisać że w klasie dajesz pętle i zapisujesz wszystko do $zmiennej .= 'wynik z bazy' potem $zmienna będzie tablicą po prostu i jak dasz return $zmienna
to wtedy możesz tym ładnie sobie dysponować.
jak źle coś piszę to jest tu wiele (między innymi Pedro) użytkowników którzy poprawią.


RE: wyciąganie userów z bazy obiektowe - Pedro84 - 29-12-2012

@Radian, nieeeeeee. Kotek umiera gdzieś na świecie jak tak robisz. Od przechowywania kolekcji są tablice, co nie? Wink


RE: wyciąganie userów z bazy obiektowe - hieroshima - 29-12-2012

Ja bym zrobił osobną klasę do obsługi bazy danych w niej metody statyczne z zapytaniami do bazy typu getFromDB(), set, update etc. oczywiście można zrobić jedną metode i do niej walić wszystkie zapytania nie ma problemu. Reszte już Pedro84 napisał mysqli zamienić na PDO (bo pewnie o to chodziło Big Grin ) i dokładnie zwracaj kolekcje Smile.