Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
wyciąganie userów z bazy obiektowe
#1
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.
Odpowiedz
#2
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óć.
Dobre samopoczucie w tym tygodniu sponsoruje cytat:
Cytat:Mogę tylko tylko na prawo i lewo ale na środek nie mogę.
Odpowiedz
#3
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ą.
Odpowiedz
#4
@Radian, nieeeeeee. Kotek umiera gdzieś na świecie jak tak robisz. Od przechowywania kolekcji są tablice, co nie? Wink
Dobre samopoczucie w tym tygodniu sponsoruje cytat:
Cytat:Mogę tylko tylko na prawo i lewo ale na środek nie mogę.
Odpowiedz
#5
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.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Zmniejszenie czasu dostępu do bazy darling 8 8,412 06-12-2017, 18:00
Ostatni post: arki878
  Przeszukiwanie bazy, przechowywanie wyników vundo 3 4,191 02-12-2016, 20:16
Ostatni post: tereska3
  Wyświetlenie ilości Plików z bazy MySQL, Wyświetlenie ilości Plików z bazy SQL maniek666 1 3,662 28-11-2013, 14:51
Ostatni post: ILIES
  Przywrócenie bazy danych/struktury z plików OPT i FRM smiesznylolek 0 3,263 19-11-2013, 16:28
Ostatni post: smiesznylolek
  [MySQL] Struktura bazy dla słownika msx83 2 3,928 24-08-2013, 16:26
Ostatni post: msx83

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl