Kirjoittaja Aihe: MySQL ja hakutuloksien suodatus  (Luettu 2046 kertaa)

suppo84

  • Käyttäjä
  • Viestejä: 175
    • Profiili
MySQL ja hakutuloksien suodatus
« : 06.11.12 - klo:13.28 »
Kuinka saisin mysql tietokannan tulostamaan erilleen tämän, eilisen ja toissapäiväset tiedot?

Eli jos haluaisin vain kaikki toissapäivänä lisätyt tiedot niin kuinka se onnistuu oikealla tavalla? Nyt olen toteuttanut kyselyt tällä tavalla mutta tuntuu että tuo ei pelitä nyt täysin oikein:

Koodia: [Valitse]
$result1 = mysql_query("SELECT * FROM visitors WHERE date = CURDATE()");
$result2 = mysql_query("SELECT * FROM visitors WHERE date > DATE_ADD(CURDATE(), INTERVAL -2 DAY) AND date < CURDATE()");
$result3 = mysql_query("SELECT * FROM visitors WHERE date > DATE_ADD(CURDATE(), INTERVAL -3 DAY) AND date < CURDATE()");

Tuo nimittäin hakee tiedot tähän päivään asti eikä vain kyseiseltä päivältä.

jekku

  • Käyttäjä
  • Viestejä: 2624
    • Profiili
Vs: MySQL ja hakutuloksien suodatus
« Vastaus #1 : 06.11.12 - klo:13.34 »
Kuinka saisin mysql tietokannan tulostamaan erilleen tämän, eilisen ja toissapäiväset tiedot?

Eli jos haluaisin vain kaikki toissapäivänä lisätyt tiedot niin kuinka se onnistuu oikealla tavalla? Nyt olen toteuttanut kyselyt tällä tavalla mutta tuntuu että tuo ei pelitä nyt täysin oikein:

Koodia: [Valitse]
$result1 = mysql_query("SELECT * FROM visitors WHERE date = CURDATE()");
$result2 = mysql_query("SELECT * FROM visitors WHERE date > DATE_ADD(CURDATE(), INTERVAL -2 DAY) AND date < CURDATE()");
$result3 = mysql_query("SELECT * FROM visitors WHERE date > DATE_ADD(CURDATE(), INTERVAL -3 DAY) AND date < CURDATE()");

Tuo nimittäin hakee tiedot tähän päivään asti eikä vain kyseiseltä päivältä.

Mitäs jos lisäät tuon intervallin myös eilisen ja toissapäivän jälkimmäiseenkin ehtoon?

suppo84

  • Käyttäjä
  • Viestejä: 175
    • Profiili
Vs: MySQL ja hakutuloksien suodatus
« Vastaus #2 : 06.11.12 - klo:13.40 »
Taisin ratkaista tämän, tämä tulostaa homman oikein:

Koodia: [Valitse]
$result1 = mysql_query("SELECT * FROM visitors WHERE date = CURDATE()");
$result2 = mysql_query("SELECT * FROM visitors WHERE date = DATE_ADD(CURDATE(), INTERVAL -2 DAY) AND date < CURDATE()");
$result3 = mysql_query("SELECT * FROM visitors WHERE date = DATE_ADD(CURDATE(), INTERVAL -3 DAY) AND date < CURDATE()");