Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie najświeższych rekordów
Forum PHP.pl > Forum > Bazy danych > MySQL
Ned-Yoshi
Witam serdecznie.
Mam taki problem. Otóż robię właśnie stornkę sieci blokowej i na niej tablicę ogłoszeń na podstawie MySQLa. No i w związku z tym mam pytanie. Czy istnieje taka możliwość, żeby wyświetlało mi tylko rekordy z ostatnich dwóch miesięcy?

Bo dokładniej chcę to zrobić tak: na stronie jest logowanie, są dwa poziomy dostępu: 1-user i 2-administrator. Zrobiłem, zeby najpierw wyświetlały się posty administratora a potem userów. Chcę wzrobić sortowanie, żeby było maxymalnie 50 wyników wogóle sortowane na dwóch stronach po 25 no i właśnie z zastrzeżeniem, że posty starsze niż 2 miesiące mają się nie wyświetlać.

Czy ktoś wie jak to zrobić?

Z góry dzięki
i pozdrawiam biggrin.gif
wojto
jedno z rozwiazan, to:
dajesz w tabeli pole data, np. typu int(11) i tam beda wrzucane daty dodania ogloszen pobrane przez time()
nastepnie w zapytaniu dajesz:
[sql:1:0c0db85635]SELECT id, ogloszenie, costam FROM tabela WHERE data>'".(time()-(3600*24*61)."' ORDER BY '".$_GET['sort']."' DESC LIMIT 25[/sql:1:0c0db85635]
to Ci wyswietli 25 ogloszen z data pozniejsza niz 61 dni od tej chwili
moozna tez funkcje time() zastapic przez UNIX_TIMESTAMP()

a linki robisz takie
Kod
<a href=plik.php?sort=data>wg daty</a>

<a href=plik.php?sort=user>wg uzytkownika</a>

pamietaj, aby wczesniej przepuscic $_GET['sort'] przez jakas funkcje sprawdzajaca, lub przez case'a, aby Ci sie nie wlamali
Ned-Yoshi
Bo tą tabelę juz mam zrobioną i data jest tam w polu typu: date. Czy jeśli jest taki typ pola to będzie działać? Sprawdzić nie mogę na razie bo serwer sieci przechodzi konfigurację smile.gif
Ned-Yoshi
Hyhy... dobra, udało mi się. Teraz z kolei mam inne pytanie. Czy da się napisac zapytanie do bazy z dwoma warunkami where? To znaczy ze w moim przypadku chciałem, żeby był warunek o datę (podany wyżej) oraz warunek autor="user"...
wojto
da sie:
[sql:1:76ff875b98]SELECT id, ogloszenie, costam
FROM tabela
WHERE data>'".(time()-(3600*24*61)."'
AND autor='user'
ORDER BY '".$_GET['sort']."' DESC
LIMIT 25[/sql:1:76ff875b98]
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.