• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

mysqli php sum z każdego miesiąca w każdym roku

Object Storage Arubacloud
0 głosów
196 wizyt
pytanie zadane 22 stycznia 2023 w SQL, bazy danych przez gatka84 Bywalec (2,150 p.)

Witajcie próbuje zrobić tak żeby były pobierane dane z bazy i wyświetlone w tabeli ew wykres graficzny ale mam problem chce tak

rok 2023

miesiąc      wypłata

1                  150zł

2                   300zł

rok 2022

miesiąc       wypłata

1             200zł

2             100zł

3             200zł

itp

i teraz nie wiem jak zrobić żeby mi podał dane rok i z tego roku rozbicie na miesiące i sum tabeli następnie kolejny rok i miesiące i sum tabeli itd

$result1 = mysqli_query($con,"SELECT YEAR(start_datetime) AS year, MONTH(start_datetime) AS month, SUM(rgb_z *55) AS total_amount FROM schedule_list GROUP BY YEAR(start_datetime), MONTH(start_datetime)");

?>
<table class="table table-bordered">
  <thead>
    <tr>
      <th>Year</th>
      <th>Month</th>
      <th>pement</th>
    </tr>
  </thead>
  <tbody>
    <?php
      $i=0;
      while($row = mysqli_fetch_array($result1)) {
        $monthNum = $row["month"];
    ?>
    <tr>
      <td><?php echo $row["year"];?></td>
      <td><?php echo $monthNum;?></td>
      <td><?php echo $row["total_amount"];?></td>
    </tr>
    <?php
    $i++;
      }
      ?>
  </tbody>
</table>

i daje mi to

Year 	Month 	pement
2022 	10 	    10241
2022 	11 	    6847.5
2022 	12 	    1485

i teraz nie wiem ja to rozbić żeby pokazał rok i pod spodem miesiące z danymi i potem kolejny rok i miesiące z danymi, chciałam to zrobić żeby z automatu wszystkie lata i miesiące tak wyświetlał.

Będę wdzięczna za podpowiedzi lub przykłady jak ew takie rzeczy prawidłowo powinno się robić.

 

komentarz 22 stycznia 2023 przez VBService Ekspert (254,320 p.)

BTW, możesz to:

  <tbody>
    <?php
      $i=0;
      while($row = mysqli_fetch_array($result1)) {
        $monthNum = $row["month"];
    ?>
    <tr>
      <td><?php echo $row["year"];?></td>
      <td><?php echo $monthNum;?></td>
      <td><?php echo $row["total_amount"];?></td>
    </tr>
    <?php
    $i++;
      }
      ?>
  </tbody>

zapisać np. tak

  <tbody>
    <?php while($row = mysqli_fetch_array($result1)) { ?>
    <tr>
      <td><?php echo $row["year"]; ?></td>
      <td><?php echo $row["month"]; ?></td>
      <td><?php echo $row["total_amount"]; ?></td>
    </tr>
    <?php } ?>
  </tbody>

 

komentarz 22 stycznia 2023 przez gatka84 Bywalec (2,150 p.)
ok a jak z tego wyodrębnić żeby mi podał rok i pod spodem miesiące i znowu rok i miesiące

coś takiego:

rok 2023

miesiąc      wypłata

1                  150zł

2                   300zł

rok 2022

miesiąc       wypłata

1             200zł

2             100zł

3             200zł

itp
komentarz 23 stycznia 2023 przez VBService Ekspert (254,320 p.)
edycja 23 stycznia 2023 przez VBService

Proponuje takie podejście, że tworzone są wiersze jak do tej pory

Year    Month   pement
2022    10      10241
2022    11      6847.5
2022    12      1485

a kliknięcie w poszczególny wiersz podaje szczegóły j. w. opisałaś, przykład on-line, kod trzeba jeszcze dopracować to tylko taka demonstracja.

komentarz 23 stycznia 2023 przez gatka84 Bywalec (2,150 p.)
o super pomysł spróbuje to dopracować żeby pokazywał rok i po kliknięciu rozwijał dany rok i pokazał zawartość z niego :)
komentarz 3 lutego 2023 przez Robertus Nowicjusz (100 p.)

@gatka84, 
Da się to zrobić, ale musisz na początku zadeklarować zmienną $aktualny_rok = 0;
Później będąc w pętli sprawdzać w każdej iteracji czy $row["year"]  != $aktualny_rok
Jeśli jest różny, to wyświetlasz $row["year"] i ustawiasz w zmiennej nową wartość w taki sposób: $aktualny_rok = $row["year"];

W ten sposób będzie się wypisywać dany rok tylko raz.
Takie rozwiązanie zakłada jednak, że wynik zapytania do bazy danych masz posortowany wg roku.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
3 odpowiedzi 139 wizyt
0 głosów
1 odpowiedź 286 wizyt
0 głosów
1 odpowiedź 200 wizyt
pytanie zadane 5 sierpnia 2018 w PHP przez hiveplay Początkujący (430 p.)

92,620 zapytań

141,474 odpowiedzi

319,816 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...