Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: "kawał Dnia" - Jak Wybrać Raz Dziennie Rekord
Forum PHP.pl > Forum > Bazy danych > MySQL
xPatryk
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
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
musisz miec takie kolumny

id | data | kawaly

  1. <?php
  2.  
  3. // ..... najpierw sie polącz z bazą i wybierz baze
  4.  
  5. $dzis=getdate();
  6. $dzien=$dzis['day'];
  7. $miesiac=$dzis['mon'];
  8. $rok=$dzis['year'];
  9.  
  10. $query=&#092;"SELECT COUNT(id) FROM tabela\";
  11. $resul2=mysql_query($query,$uchwyt_do_bazy);
  12. $row=mysql_fetch_array($result);
  13.  
  14. $query2=&#092;"SELECT * FROM tabela WHERE YEAR(data)=$rok AND MONTH(data)=$miesiac AND DAY(data)=$dzien\";
  15. $result2=mysql_query($query2,$uchwyt_do_bazy);
  16.  
  17. if ($result2==0) {
  18. $los=rand(0,$row['COUNT(id)']);
  19. $query3=&#092;"UPDATE tabela SET data = '$dzis' WHERE id = $los\";
  20. $result3=mysql_query($query3,$uchwyt_do_bazy);
  21.  
  22. $query4=&#092;"SELECT * FROM tabela WHERE YEAR(data)=$rok AND MONTH(data)=$miesiac AND DAY(data)=$dzien\";
  23. $result4=mysql_query($query4,$uchwyt_do_bazy);
  24. $row4=mysql_fetch_array($result4);
  25. echo($row4['kawaly']);
  26.  
  27.  
  28. } else {
  29. $row2=mysql_fetch_array($result2);
  30. echo($row2['kawaly']);
  31. }
  32. ?>


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 smile.gif
Bakus
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...
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.