• 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

Aruba Cloud - Virtual Private Server VPS
0 głosów
307 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 (256,600 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 (256,600 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 229 wizyt
0 głosów
1 odpowiedź 516 wizyt
0 głosów
1 odpowiedź 237 wizyt
pytanie zadane 5 sierpnia 2018 w PHP przez hiveplay Początkujący (430 p.)

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,653 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...