Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie rekordów z 7 dni
Forum PHP.pl > Forum > Przedszkole
Bellum
Witam, mam pytanie dot. w jaki sposób wyświetlić rekordy, które zostały dodane w przeciągu 7 dni. Chodzi tu o datę, prosiłbym o przykłady bądź odnośniki do poradników z tym związane, Google dziwnie interpretuje moje pytania dot. tego problemu w rezultacie nie mogę znaleźć odpowiednich przykładów.
SELECT * FROM articles Where " o jaki warunek trzeba uzupełnić where" by zostały wyświetlone artykuły, które dodałem np: od dziś do 7 dni wstecz".
haahh
yy.. to było coś takiego, chyba:

Kod
DATE_SUB(CURDATE(),INTERVAL 7 DAY)

edit: mysql manual funkcje czasu i daty
zend
Wstaw to w zapytanie
  1. date('Y-m-d H:i:s' , (time() - 7 * 24 * 60 * 60))
Bellum
Cytat(zend @ 16.06.2010, 15:46:53 ) *
Wstaw to w zapytanie
  1. date('Y-m-d H:i:s' , (time() - 7 * 24 * 60 * 60))

Chcę wyświetlić artykuły, skrypt wygląda tak:

  1. global $dblink;
  2.  
  3. echo "<div style='color: #fff; background: #243f5c; text-align: center; padding: 3px; font-family: Georgia;'>Ab ovo usque ad mala</div><br />";
  4. echo "<div style='text-align: center; padding: 3px; font-family: Georgia;'>Lista artykułów</div><br />";
  5. $result = $dblink->get_list("SELECT id,nome,hits,date FROM memht_articoli WHERE enabled=1 AND autore='Ktoś tam' AND language='10' AND date('Y-m-d H:i:s' , (time() - 7 * 24 * 60 * 60)) ORDER BY hits DESC LIMIT 100");
  6. foreach ($result as $row) {
  7. $id = intval($row['id']);
  8. $nome = outCode($row['nome']);
  9. $hits = intval($row['hits']);
  10.  
  11. echo "<div class='block_linkstyle'><b>$hits</b> - Wyświetleń <a href='index.php?page=articles&op=readArticle&id=$id&title=".mem_urlencode($nome)."' title='$nome'> $nome</a></div>\n";
  12. }


Z tego co widzę w bazie a korzystam ze skryptu memhta, to data w rekordzie wygląda: 2010-04-07 18:12:18, nie orientuje się jeszcze w zabawach z datą. Ale otrzymuję komunikat o błędzie a że na dacie się nie znam, to nie jestem w stanie wyłapać błędu.

Cytat
Errno: 2 (MySQL Errno: 0)
File: /home/us1243/public_html/blocks/block_articles_new.php
Line: 34
Function: get_list
MySQL error:
Query: SELECT id,nome,hits,date FROM memht_articoli WHERE enabled=1 AND autore='Andrzej Struski' AND language='10' AND date('Y-m-d H:i:s' , (time() - 7 * 24 * 60 * 60)) ORDER BY hits DESC LIMIT 100
Note: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
zend
  1. 'select ... AND `data` > '.tocopodałem();
Bellum
Cytat(zend @ 16.06.2010, 16:41:53 ) *
  1. 'select ... AND `data` > '.tocopodałem();

que?, że tak zapytam, przypomina mi, to trochę slang programistyczny, mnie trzeba jak krowie na rowie, w ogóle nie rozumiem powyższego wzoru. Mam książkę PHP i MySQL czasem by zrozumieć pewne rzeczy pisze różne skrypty do skutku, a przekleństw leci tyle że... nie mam niestety teraz przy sobie tej książki.

Internet zaczął się ślimaczyć i trochę odpowiedzi zajmują.

@Poradziłem sobie już:
  1. $result = $dblink->get_list("SELECT id,nome,hits,data FROM memht_articoli WHERE enabled=1 AND autore='Andrzej Struski' AND language='10' AND (data + INTERVAL 7 DAY) > $tzNOW ORDER BY hits DESC LIMIT 100");
haahh
Mi chodziło raczej o coś takiego:

Kod
SELECT id,nome,hits,data FROM memht_articoli WHERE enabled=1 AND autore='Andrzej Struski' AND language='10' AND DATE_SUB(CURDATE(),INTERVAL 7 DAY) <= date NOW ORDER BY hits DESC LIMIT 100

Ale jak działa, to działa.
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.