xPatryk
23.07.2004, 09:35:54
Witam !
Mam dosyć nietypowy problem...
otóż potrzebuję wybrać z bazy MySQL rekord zawierający jakiś tekst, losowo, ale tylko raz dziennie...
np. mam tabele kawaly:
---id---|--------------------kawal-------------------------|
1 Baba z wozu - koniom lżej
2 itd....
potrzebuję, aby skrypt wybrał raz dziennie jeden losowy kawał i przez cały dzień wyświetlał go na stronie (albo wybierał za każdym razem, ale musi to być ten sam kawał, albo zapisał w innej tabeli...) problem w tym, iż w pierwszym rozwiązaniu nie wiem, jak wybierać za każdym razem ten sam kawał, a w drugim, jak uruchomić taki skrypt tylko raz dziennie (strona ma dużo odsłon praktycznie o każdej godzinie, więc może jakoś sprawdzić czas ?)
Pozdrawiam i proszę o pomoc
Patryk
radzaw
23.07.2004, 10:44:11
mozesz zrobic np. tak :
do tabeli kawaly dodaj pole "czas" w ktorym bedzie zapisywana data ostatniego wyswietlenia (np. unixowy timestamp) (zapujesz ja tylko przy pierwszym odwolaniu) i jezeli ta data = aktualnej to wyswietlasz, jezeli nie to szukasz rekordu bez daty lub rekordu gdzie data > tydzien/miesiac temu
limak
27.07.2004, 13:14:45
musisz miec takie kolumny
id | data | kawaly
<?php
// ..... najpierw sie polącz z bazą i wybierz baze
$dzien=$dzis['day'];
$miesiac=$dzis['mon'];
$rok=$dzis['year'];
$query=\"SELECT COUNT(id) FROM tabela\";
$query2=\"SELECT * FROM tabela WHERE YEAR(data)=$rok AND MONTH(data)=$miesiac AND DAY(data)=$dzien\";
if ($result2==0) {
$los=rand(0
,$row['COUNT(id)']); $query3=\"UPDATE tabela SET data = '$dzis' WHERE id = $los\";
$query4=\"SELECT * FROM tabela WHERE YEAR(data)=$rok AND MONTH(data)=$miesiac AND DAY(data)=$dzien\";
} else {
}
?>
p.s.: pisalem to na szybko bo nie mam czasu... nie wiem czy to jest dobrze, czy sie gdzies nie pomylilem..... jak cos to przepraszam
Bakus
27.07.2004, 17:58:05
a ja mam inny pomysl...
Podczas pierwszej wizyty w czasie doby losuj ID kawalu i zapisuj do pliku i pokaz kawal o wylosowanym ID. Dla kolejnych gosci pobieraj ID z pliku i wyswietlaj...
Pliki dla ulatwienia moga miec nazwe zlozona z bierzacej daty... jezeli plik istnieje - pobierasz, jezeli nie, losujesz ID, zapisujesz i pobierasz...
Tylko przydalo by sie, by przy tworzeniu pliku usuwane byly juz niepotrzebne niepotrzebne...