Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Aktualizacja wybranego pola w tabeli X, sumą pól z tabeli Y
fajfer
post 5.11.2005, 16:12:21
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.03.2005

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


Witam,
Jak na początkującego to porwałem się trochę z motyką na słońce i jestem w kropce, brakuje mi pewnego elementu.
Mam w bazie dwie tabele:
  1. dlug (id_dlugu, kwota_dlugu_oddana)
  2. wplaty (id_wplaty, id_dlugu, kwota_wplaty)

Po wprowadzeniu wpłat cząstkowych, zsumować je (kwota_wplaty) dla poszczególnych wpłacających i zaktualizować pole kwota_dlugu_oddana w tabeli dlug.
Od strony bazy, zrobione.

Od strony php ja bym widział to tak, tylko jak to zapisać ??
1.Sprawdzenie maksymalnej wartości dla pola id_dlugu.
2.Wykonanie w pętli Update z Selecta ...SUM() dla id_dlugu=1 kończąc na id_dlugu=max
Go to the top of the page
+Quote Post
konys
post 5.11.2005, 18:58:51
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 7
Dołączył: 5.11.2005

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


Na szybko przychodzi mi takie rozwiązanie:
  1. <?php
  2.  mysql_connect('host','user','haslo');
  3.  mysql_select_db('baza');
  4.  $qr1 = 'SELECT id_dlugu FROM dlug';
  5.  $res1 = mysql_query($qr1)
  6. or die( mysql_error() );
  7.  
  8.  $qr3 = 'SELECT id_dlugu, SUM(kwota_wplaty) FROM wplaty WHERE ';
  9.  while( $ob = mysql_fetch_object($res1) )
  10.  {
  11.  $qr3 .= 'id_dlugu = '.$ob->id_dlugu.' OR ';
  12.  }
  13.  $qr3 = substr($qr3,0,-4).' GROUP BY mod_id';
  14.  $res3 = mysql_query($qr3)
  15. or die( mysql_error() );
  16.  
  17.  while( $row = mysql_fetch_row($res3) )
  18.  {
  19.  $upd_qr = 'UPDATE dlug SET kwota_dlugu_oddana='.(int)$row[1].' WHERE id_dlugu='.$row[0];
  20. $upd_res = mysql_query($upd_qr)
  21.  or die( mysql_error() );
  22.  }
  23. ?>


A co do porywania się z motyką na słońce - do odważnych świat należy laugh.gif
Go to the top of the page
+Quote Post
fajfer
post 5.11.2005, 21:32:56
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.03.2005

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


Wielkie dzięki za pomoc. Działa smile.gif
Zamieniłem mod_id na id_dlugu i działa tak jak potrzebowałem.

>>A co do porywania się z motyką na słońce - do odważnych świat należy laugh.gif
Czasami jednak sytuacja potrafi przerosnąć człowieka.
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: 19.07.2025 - 03:19