Pomoc w zliczaniu z bazy?


(Piotrswiniarski87) #1

Witam mam takie zapytanie do bazy danych

$wynik3 = mysql_query('SELECT count(*) from zdarzenia, kupony WHERE uzytkownik_login = \''.$_SESSION['uzytkownik'].'\' AND data_kuponu >= "'.$od.'" AND data_kuponu <= "'.$do.'"') or die('Błąd w zapytaniu');

a taka baze danych

CREATE TABLE kupony (

  idkupony INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

  uzytkownik_login VARCHAR(20) NOT NULL,

  data_kuponu DATE NULL,

  stawka DOUBLE NULL,

  bukmacher VARCHAR(45) NULL,

  ako DOUBLE NULL,

  rozliczenie VARCHAR(12) NULL,

  PRIMARY KEY(idkupony),

  foreign key(uzytkownik_login) references uzytkownik(login)

);



CREATE TABLE uzytkownik (

  login VARCHAR(20) NOT NULL,

  email VARCHAR(255) NULL,

  pass VARCHAR(45) NULL,

  imie VARCHAR(20) NULL,

  nazwisko VARCHAR(45) NULL,

  PRIMARY KEY(login)

);



CREATE TABLE zdarzenia (

  idzdarzenia INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

  kupony_idkupony INTEGER UNSIGNED NOT NULL,

  zdarzenie VARCHAR(45) NULL,

  typ INTEGER UNSIGNED NULL,

  wynik VARCHAR(20) NULL,

  zal_nzal ENUM('tak', 'nie') NULL,

  kurs DOUBLE NULL,

  PRIMARY KEY(idzdarzenia),

  foreign key(kupony_idkupony) references kupony(idkupony)

);

wiem, że coś z zapytaniem jest nie tak, ale mam pytanko, jak zrobić żeby dla danego użytkownika w wybranej dacie zliczało mi wszystkie zdarzenia, które użytkownik postawił??


(athei) #2

Nie jestem pewien czy o to Ci chodzi

$query = "

SELECT count(z.`idzdarzenia`) AS 'Ile'

FROM `zdarzenia` AS z

    JOIN `kupony` AS k ON z.`kupony_idkupony` = k.`idkupony`

    WHERE k.`uzytkownik_login` ='{$user}' AND 

            k.`data_kuponu` BETWEEN '{$od}' AND '{$do}' 

";