Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Dwa zapytania do bazy danych
Forum PHP.pl > Forum > Przedszkole
Star
Witam
Mam w bazie tabele która zlicza punkty dla każdego usera, tabele są dwie i chciałbym aby z jednej odjąć wyniki z drugiej, tzn jeśli dzisiaj ktoś zarobił 500 punktów, a przedwczoraj 30 to odejmujemy 500-30 i wyświetlamy wynik. Tylko jak to zrobić dla np 100 userow?
casperii
Cytat(Star @ 30.05.2015, 02:25:45 ) *
Witam
Mam w bazie tabele która zlicza punkty dla każdego usera, tabele są dwie i chciałbym aby z jednej odjąć wyniki z drugiej, tzn jeśli dzisiaj ktoś zarobił 500 punktów, a przedwczoraj 30 to odejmujemy 500-30 i wyświetlamy wynik. Tylko jak to zrobić dla np 100 userow?


Nie rozumiem, trochę twojej zasady , po co są 2 tabele.
No ale...

  1. $sql = mysql_query("SELECT * FROM `table`");
  2. $row = mysql_fetch_array($sql);
  3.  
  4. $wynik1 = $row['poleWbazie'];
  5.  
  6. $sql2 = mysql_query("SELECT * FROM `table2`");
  7. $row2 = mysql_fetch_array($sql2);
  8.  
  9. $wynik2 = $row['poleWbazie'];
  10.  
  11. $wynikSUMA = $wynik2 - $wynik1;
  12.  
  13. print $wynikSUMA;
Pyton_000
  1. SELECT user_id, IFNULL(tabel1.punkty, 0) - IFNULL(tabela2.pubkty, 0) FROM tabela1 LEFT JOIN tabela2 ON (tabela1.DATA = tabela2.DATA)

Tak poglądowo
Star
Nie nie Panowie, mam dwie tabele, w każdej jest 100 userow, i każdy z nich ma określoną ilość punktów. Jak bym chciał aby od każdego usera z tabeli A odjąć jego wynik z tabeli B:)
Pyton_000
Struktura tabel...
Star
id mediumint(8)
nick varchar(40)
punkty int(20)

Obie tabele mają taką samą strukturę
Pyton_000
A możesz powiedzieć po co 2 tabele?
Nie możesz po prostu wpisywać 200, -300 pkt jako kolejne rekordy? Ablo dodawać/odejmować w jednym rekordzie?

  1. SELECT t1.pubkty - t2.pubkty FROM tabela1 t1 JOIN tabela2 t2 USING(id)
Star
Każda tabela zbiera punkty z danego miesiąca , a ja chcę poprostu podliczyc ile ktoś zdobył punktów w danym okresie smile.gif
Pyton_000
Nie wnikam, ale źle się do tego zabrałeś...
Star
oki ,no to podpowiedz jak mam sie za to zabrac prawidłowo smile.gif
Pyton_000
Już Ci napisałem.
Jedna tabela

id, id użytkownika, data, punkty dodatnie/ujemne
Star
chyba rozumiem, zaraz się za to zabiore ,dzieki smile.gif

Witam, z tymi tabelami cos mi nie wyszlo i sprobowalem czegos takiego :
  1. $query = "SELECT * FROM tabela1";
  2. $result = mysql_query($query);
  3. $num_results = mysql_num_rows($result);
  4. for($i = 1; $i <= $num_results; $i++)
  5. {
  6. $row = mysql_fetch_array($result);
  7. $query = "SELECT * FROM `tabela2` WHERE `nick` = '$row[nick]'";
  8. $result2 = mysql_fetch_array(mysql_query($query));
  9.  
  10. $punkty= $row["punkty"] - $result2["punkty"];
  11. $nick = $row["nick"];
  12.  
  13. $query = "INSERT INTO `tab1` (`nick`, `punkty`) ".
  14. "VALUES ('$nick', '$punkty'')";
  15. mysql_query($query);
  16. }



Problem jest taki, że przy niektorych nickach nie odejmuje tylko przepisuje do bazy cały winik, np zamiast przy 100-20 zapisac 80 to zapisuje 100 itp.
Co może być tego powodem ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.