Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Funkcja do pobierania danych z bazy, Pytanie o organizację pobranych danych
MalyKazio
post
Post #1





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

Ostrzeżenie: (0%)
-----


Witam.

Przerabiam swoją stronę. Do tej pory wszędzie gdzie mi były potrzebne dane z tabeli pobierałem je osobno. W tej chwili tworzę funkcję, która pobiera mi wszystkie dane z bazy, zapisuje w tablicy o określonych indeksach. W ten sposób mam jednolitą strukturę danych, do których w każdym miejscu będę mógł się odwołać przy pomocy tego samego indeksu w tablic. To wszystko jest oczywiste. Moje pytanie zmierza jednak do czegoś innego. Dane w tablicy w dużej części są danymi liczbowymi (INT). W zależności od wartości liczbowej przypisywana jest im odpowiednia wartość tekstowa. Czy w związku z tym lepiej byłoby aby funkcja zwracała w tablicy dane liczbowe, czy też dobrze jest w niej umieścić dane gotowe do wyświetlenia, przetworzone przez odpowiednią, osobą funkcję, która jest wywoływana w tej chwil przez wyświetleniem danych. Z jednej strony nie będę musiał martwić się czy przed wyświetleniem danych nie zapomnę ich odpowiednio obrobić i mogę wyświetlić je prosto np. $dane['kategoria']. Z drugiej jednak trochę rozrośnie się przez to zwracana tablica. Czy mógłby ktoś podzielić się swoimi uwagami?


--------------------
"Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
Go to the top of the page
+Quote Post
danek
post
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 1.02.2004
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Nie wiem, czy dobrze zrozumiałem, ale do łączenia danych (np id-kategorii->nazwy-kategorii) używa się relacji...


--------------------
E-Danek.info
Go to the top of the page
+Quote Post
MalyKazio
post
Post #3





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

Ostrzeżenie: (0%)
-----


Nie o to chodzi.
Kategorie to był przykład. Mam wiele bardziej skomplikowanych rzeczy, np. organizacje. jakiś człowiek X należy do organizacji o nr 4. Tak więc przy wyciąganiu danych człowieka pobieram pole "organizacja" o wartosci 4. Następnie przed wyświetleniem danych tego człowieka przetwarzam to pole organizacja funkcją przygotujorganizacje(organizacja), która do nr 4 dobiera odpowiednią nazwę. Teraz nie wiem, czy w funkcji pobierającej dane osoby zostawić tylko w tablicy wynikowej "organizacja" (tu o wartosci 4) i potem przed wyswietleniem przetworzyć fukncją przygotujorganizacje czy też dodać dodatkowo organizacjanazwa=przygotujorganizacje(organizacja) i potem tylko prosto wyświetlić pole organizacjanazwa. Ufff... chyba jakoś to wyjaśniłem


--------------------
"Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
Go to the top of the page
+Quote Post
danek
post
Post #4





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 1.02.2004
Skąd: warszawa

Ostrzeżenie: (0%)
-----


OK, ale skoro pobierasz to z bazy to czemu nie zastosujesz relacji?
Proszę:
Masz 2 tabele: organizacja i uzytkownicy


Piszesz prosta relacje w SQL-u i masz od razu połączone dane


Ten post edytował danek 4.11.2008, 21:26:55


--------------------
E-Danek.info
Go to the top of the page
+Quote Post
MalyKazio
post
Post #5





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

Ostrzeżenie: (0%)
-----


Jasne, to nie jest problemem. Wyciągnięcie danych to błahostka. Tylko nazwa organizacji może być w kilku językach. Poza tym dla jednej osoby jest kilkanaście takich pól, stąd też wolałem wyciągnąć liczbę odpowiadającą np. organizacji i potem ją odpowiednio przetworzyć, tym bardziej, że nie wszystko jest w bazie danych i np. nazwy pól innych niż organizacją są zapisane w zmiennych np. płeć.
Stąd też nie wiem czy zrobić to tak:
  1. <?php
  2. function pobierzdaneosoby($id) {
  3. // rozne dane z bazy
  4. $p['organizacja']=$row['organizacja'];
  5. $p['organizacjanazwa']=przygotujorganizacje($row['organizacja'],array('full'=>1));
  6. $p['organizacjaskrot']=przygotujorganizacje($row['organizacja'],0);
  7. // itp. itd.
  8. return $p;
  9. }
  10. $osoba=pobierzdaneosoby($id);
  11. echo "Dane osoby (organizacja: $p['organizacjanazwa'])";
  12. ?>


Czy też tak:

  1. <?php
  2. function pobierzdaneosoby($id) {
  3. // rozne dane z bazy
  4. $p['organizacja']=$row['organizacja'];
  5. // itp. itd.
  6. return $p;
  7. }
  8. $osoba=pobierzdaneosoby($id);
  9. echo "Dane osoby (organizacja: przygotujorganizacje($osoba['organizacja'],array('full'=>1));)";
  10. ?>


--------------------
"Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
Go to the top of the page
+Quote Post
danek
post
Post #6





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 1.02.2004
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Co za pytanie... Rób jak Ci wygodniej, chociaż ja i tak bym to oparł na relacjach...


--------------------
E-Danek.info
Go to the top of the page
+Quote Post
MalyKazio
post
Post #7





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

Ostrzeżenie: (0%)
-----


Dzięki. Jednak trochę skorzystam. Będzie i znacznie więcej relacji niż dotychczas.


--------------------
"Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 21:48