![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 24.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Mam w php zrobiona tabelkę, w której wiersze zawierają dane z tabel MySQL. Niektóre komórki to nie tylko proste pobranie danych z tabeli MySQL, ale efekt wykonywania działań na danych tabeli (dodawanie, dzielenie, mnożenie). Każdy wiersz to inna tabela. Wierszy (a więc i tabel MySQL) jest około 100.
Zachodzi potrzeba zsumowania wartości liczbowych z kilkunastu kolumn. Jak to zrobić? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) ![]() ![]() |
Mam w php zrobiona tabelkę, w której wiersze zawierają dane z tabel MySQL. Niektóre komórki to nie tylko proste pobranie danych z tabeli MySQL, ale efekt wykonywania działań na danych tabeli (dodawanie, dzielenie, mnożenie). Każdy wiersz to inna tabela. Wierszy (a więc i tabel MySQL) jest około 100. Zachodzi potrzeba zsumowania wartości liczbowych z kilkunastu kolumn. Jak to zrobić? A możesz podać jak wygląda struktura tej tablicy? (print_r()) http://php.net/manual/en/function.array-sum.php http://php.net/manual/en/function.array-map.php http://stackoverflow.com/questions/1283872...array-array-sum http://php.net/manual/en/function.array-column.php to ci powinno pomóc. Ewentualnie jakiś foreach, ale to zależy jak te dane w tablicy rozmieszczone |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 24.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
A możesz podać jak wygląda struktura tej tablicy? (print_r()) Dzięki za zainteresowanie. z linkami, które podałeś zapoznałem się wcześniej. Niestety, przykłady tam zawarte nie pasują do mojego problemu. Obawiam się, że popełniłem na samym początku błędy projektowe i teraz nie da sie prosto mojego problemu rozwiązać. Być może niepotrzebnie stworzyłem ponad setkę tabel. A może brak jakiejś zbiorczej tabeli. Może jakoś wspólnie coś ustalimy. Podaję niżej kawałek kodu wyświetlającego dwie pozycje.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) ![]() ![]() |
tak nie mozesz tego zapisywać powinieneś dać to do tablicy
dodanie ci do tablicy umożliwia ci skorzystania z wielu przydatnych funkcji i skrócić kod wielokrotnie wydaje mi się, że jezeli masz wiele tabel i do każdej ulicy masz nowa tabele to jest to bład. Jezeli masz wiele tabel przechwujących taka sama strukture danych to powinines dodać to do jednej tabeli dodając jakies ID i wtedy masz dużo prostsze zapytania i sensowniejsza strukturę. Ten kod
można skrócić
kolejna sprawa, nie uzywasz mysqli, a to bład. Calość niestety wygląda bardzo zle ![]() Ten post edytował Lord 2.06.2016, 11:47:09 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 24.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
wydaje mi się, że jezeli masz wiele tabel i do każdej ulicy masz nowa tabele to jest to bład. Jezeli masz wiele tabel przechwujących taka sama strukture danych to powinines dodać to do jednej tabeli dodając jakies ID i wtedy masz dużo prostsze zapytania i sensowniejsza strukturę. Tak więc po kolei. Mam ponad 100 tabel, wszystkie o identycznej strukturze. Bla każdego budynku jedna tabela, plus do tego jeszcze jedna tabela 'dzialki'. Dane budynków, które są tam zawarte to:
Dane działek:
kolejna sprawa, nie uzywasz mysqli, a to bład. Myślę, że da się to względnie łatwo naprawić. Calość niestety wygląda bardzo zle ![]() Chcę uzyskać przeglądanie tych danych jak wyżej budynkami, a także w zbiorczej tabeli mieć posumowane różne wartości. O tą tabelę zbiorczą się rozbiłem ![]() poniżej wklejam link do zrzutu wyglądu danych budynku http://ifotos.pl/zobacz/bro2-10pn_saaqrwx.png Może w przyszłości dorzuciłbym jakieś filtrowanie... Ten post edytował Therminus 2.06.2016, 14:58:02 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłeś sobie mega kuku taką strukturą
![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 24.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zaorać strukturę i stworzyć na nowo a życie stanie się piękniejsze.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 49 Dołączył: 12.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Osobna tabela budynki a do mieszka doda id_budynek i masz dużo łatwiej
-------------------- Pozdrawiam,
mlawnik Cytat(nospor) Jedzmy gówno.... miliony much nie może się przecież mylić |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 24.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 24.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Musisz dodać tylko kolumne z ID która określi ci jaka ulicę Żebym cię dobrze zrozumiał... Jeden wiersz, to jeden lokal (przynajmniej u mnie tak jest). Prezentacja ma być budynkami, tak jak na obrazku z linka wyżej. To oznacza, że dla wierszy z odnoszących się do jednego budynku, ma być ten sam ID? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) ![]() ![]() |
Napisze Ci to na przykładzie adresów ludzi
![]() Masz takie dane: Imie Nazwisko Miasto Kod Ulica nr domu Wojewodztwo Kraj To ile tabel stworzysz? Odzielna dla kazdego wojewdztwa? kraju? miasta? ulicy? no nietworzysz 1 tabele dodając jakies unikalne ID dla kazdego uzytkownika ID | Imie | Nazwisko | Miasto | Kod | Ulica | nr domu | Wojewodztwo | Kraj Tak naprawdę to mozna to rozbic jeszcze na 2 tabele, bo powiedzmy Miasto Wojewdztwo i Kraj jest takie same i bedzie sie dublować TABELA 1 ID | Imie | Nazwisko | Kod | Ulica | nr domu | ID_Miasta TABELA 2 ID_Miasta | Miasto | Wojewodztwo | Kraj Tak naprawdę jak to podzielisz zalezy od tego co bedziesz chciał z tej bazy wyciagnąć itd. Masz link przykładowej bazy danych jakiegos projektu http://ai.ia.agh.edu.pl/wiki/_media/pl:dyd...aza2_do_wst.jpg |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 24.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Napisze Ci to na przykładzie adresów ludzi ![]() Dzięki. Coś tam zaczyna do mnie docierać. Na razie zrozumiałem tyle: Dane z kolumn, które się powtarzają (dublują), mają wylądować w drugiej (albo nawet w trzeciej - zależy co się będzie dublować) tabeli. A do pierwszej tabeli trafiają w to miejsce ID z drugiej tabeli. W moim przypadku to może być: 1. tabela `Ulica` 2. tabela `Budynek` 3. tabela `Lokal` Ale tutaj powtarzają się numery klatek, numery lokali... nie wiem czy warto tworzyć oddzielne tabele na te numery (a Ty co o tym myślisz?). Za to na pewno 4. tabela `Kategoria` i być może 5. tabela `Struktura` Oczywiście tabela `Lokal` będzie zawierać ID tabel `Ulica`, `Budynek`, `Kategoria`i `Struktura` Przyznam Lordzie, że jesteś dobrym nauczycielem. Przeczytałem wcześniej sporo na temat baz, próbowałem analizować różne przykłady i jakoś nie bardzo. A Ty jednym krótkim postem sprawiłeś, ze zaczynam kumać temat. Mam nadzieję. Jeśli się mylę, to mnie popraw. Zdrówka. ![]() ![]() |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) ![]() ![]() |
Dane działek:
Te tabele co masz są dobre. Stwórz tylko kolejna tabele łączącą te 2 tebele gdzie masz id_budynku i id_działki, ewentualnie mozesz jeszcze wyodrębic tabele kategorie gdzie w tabeli budynku masz id_kategorii, a w tabeli kategoria masz id i nazwa i tak powinno działać |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 24.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Te tabele co masz są dobre. Stwórz tylko kolejna tabele łączącą te 2 tebele gdzie masz id_budynku i id_działki, ewentualnie mozesz jeszcze wyodrębic tabele kategorie gdzie w tabeli budynku masz id_kategorii, a w tabeli kategoria masz id i nazwa i tak powinno działać Dzięki bardzo. Co do kategorii lokalu, to faktycznie, aż się prosi, aby stworzyć oddzielną tabelę, bo kategorie są tylko dwie, ale z drugiej strony kolumna kategorie zawiera tylko jedną literę "M" (większość) albo dwie litery "LU" (spora ilość). Nie wiem, czy to się opłaca zmieniać. Wszak indeks i tak trzeba w kolumnie wpisać, a czy to będzie jedna cyfra, czy też jedna lub dwie litery, to moim zdaniem niewielka różnica. Może się mylę, nie wiem. Muszę jeszcze o jedno zapytać: Tabela `budynki` będzie zawierać ponad 5700. Jak w takim razie wyodrębnić budynek? Czy ID mają być unikalne dla każdego wiersza, czy takie same dla każdego budynku (niektóre budynki zawierają kilka klatek)? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:29 |