Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Łączenie 3 tabel i wyświetlanie sumowanych wyników
brzanek
post 5.09.2019, 08:26:20
Post #1





Grupa: Zarejestrowani
Postów: 363
Pomógł: 0
Dołączył: 8.11.2012

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


Witam mam zapytanie które łączy trzy tabele i wyświetla sumę wartości z jednej z tabeli
Tak wygląda zapytanie
  1. $result = $mysqli->query("SELECT SUM(miesieczna_suma_opadu) AS miesieczna_suma_opadu, nr_stacji, lat_stacji, lon_stacji, nazwa_stacji, miesiac FROM stacje_meteo_wspolzedne LEFT JOIN stacje_meteo ON stacje_meteo_wspolzedne.nr_stacji = stacje_meteo.nr_stacji LEFT JOIN opad_2010 ON stacje_meteo_wspolzedne.nr_stacji = opad_2010.nr_stacji WHERE lat_stacji BETWEEN 14.194074 AND 16.822401 AND lon_stacji BETWEEN 52.618755 AND 54.579257 ORDER BY nazwa_stacji ASC");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. echo '<div>'.$row['miesieczna_suma_opadu'].'</div>';
  4. }

Niestety nic się nie pojawia
Pomoże ktoś?
Go to the top of the page
+Quote Post
trueblue
post 5.09.2019, 08:39:15
Post #2





Grupa: Zarejestrowani
Postów: 5 565
Pomógł: 1519
Dołączył: 11.03.2014

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


Wykonywałeś zapytanie bezpośrednio na bazie danych?


--------------------
Go to the top of the page
+Quote Post
brzanek
post 5.09.2019, 08:54:20
Post #3





Grupa: Zarejestrowani
Postów: 363
Pomógł: 0
Dołączył: 8.11.2012

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


Nie wykonałem w pliku php
Go to the top of the page
+Quote Post
nospor
post 5.09.2019, 09:01:10
Post #4





Grupa: Moderatorzy
Postów: 34 800
Pomógł: 5793
Dołączył: 27.12.2004




Skoro nie wykonales tego w pliku php to w jak to wykonales?


--------------------

Najlepsze kawałki programistyczne || Dowcipy o informatykach || Forum PHP dla opornych
Klasy: Pager (stronicowanie) | Cache | ShoutBox (Chat) | Widok | Ładne url'e

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
brzanek
post 5.09.2019, 09:04:30
Post #5





Grupa: Zarejestrowani
Postów: 363
Pomógł: 0
Dołączył: 8.11.2012

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


Sorry wykonałem w pliku php
Go to the top of the page
+Quote Post
nospor
post 5.09.2019, 09:10:54
Post #6





Grupa: Moderatorzy
Postów: 34 800
Pomógł: 5793
Dołączył: 27.12.2004




Super, to skoro juz wiemy, jak wazne jest uzywanie przecinkow, przejdzmy do rzeczy:

Skoro nic ci sie nie wyswietla to masz dwie opcje czemu
- albo warunek nie jest spelniony
- albo masz blad zapytania

Po to ci trueblue napisal, bys odpalil to na bazie bezposrednio to bys widzial od razu co jest schrzanione. A skoro nie chcesze tego zrobic na bazie to sprawdz blad bazy w php.
No i nie mieszaj obiektowego mysqli z proceduralnym bo groch z kapusta wychodzi


--------------------

Najlepsze kawałki programistyczne || Dowcipy o informatykach || Forum PHP dla opornych
Klasy: Pager (stronicowanie) | Cache | ShoutBox (Chat) | Widok | Ładne url'e

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
brzanek
post 5.09.2019, 09:38:45
Post #7





Grupa: Zarejestrowani
Postów: 363
Pomógł: 0
Dołączył: 8.11.2012

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


Wykonałem to zapytanie w sql
  1. SELECT SUM(`miesieczna_suma_opadu`) AS `miesieczna_suma_opadu`, `nr_stacji`, `lat_stacji`, `lon_stacji`, `nazwa_stacji`, `miesiac` FROM `stacje_meteo_wspolzedne` LEFT JOIN `stacje_meteo` ON `stacje_meteo_wspolzedne`.`nr_stacji` = `stacje_meteo`.`nr_stacji` LEFT JOIN `opad_2010` ON `stacje_meteo_wspolzedne`.`nr_stacji` = `opad_2010`.`nr_stacji` WHERE `lat_stacji` BETWEEN '14.194074' AND '16.822401' AND `lon_stacji` BETWEEN '52.618755' AND '54.579257'

Ale pojawił się błąd #1052 - Kolumna: 'nr_stacji' w field list jest dwuznaczna
Warunek jest spełniany tylko coś z sumowanie wyników jest nie tak
Takie zapytanie działa
  1. SELECT * FROM `stacje_meteo_wspolzedne` LEFT JOIN `stacje_meteo` ON `stacje_meteo_wspolzedne`.`nr_stacji` = `stacje_meteo`.`nr_stacji` LEFT JOIN `opad_2010` ON `stacje_meteo_wspolzedne`.`nr_stacji` = `opad_2010`.`nr_stacji` WHERE `lat_stacji` BETWEEN '14.194074' AND '16.822401' AND `lon_stacji` BETWEEN '52.618755' AND '54.579257'
Go to the top of the page
+Quote Post
trueblue
post 5.09.2019, 09:40:24
Post #8





Grupa: Zarejestrowani
Postów: 5 565
Pomógł: 1519
Dołączył: 11.03.2014

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


W Google też pewnie nie próbowałeś poszukać problemu?
https://www.google.com/search?q=mysql+%231052


--------------------
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 Wersja Lo-Fi Aktualny czas: 20.11.2019 - 18:00