ForumCała strona

Nawigacja

Aktualnie online

Gości online: 1

Użytkowników online: 0

Łącznie użytkowników: 25,387
Najnowszy użytkownik: Tyka1125

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

JazOOn
16.06.2024 18:34:06
hehe. Nice

MajsterBieda
02.06.2024 00:44:49
Cool

Zbigniew@
01.06.2024 22:26:24
bubello Twój wpis ,przypomina mi bajkę ,dlaczego wyginęły mamuty.

bubello
28.05.2024 18:05:12
A ja od 13 lat na forum, ale większy komfort czuję siedząc w cieniu i obserwując co to się wydarza Frown

Zbigniew@
22.05.2024 20:58:20
Na forum iso błąd przed <!DOCTYPE wygląda jak utf8 z BOM

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
[EF IV] User tygodnia
Szapko
Witam!

Chciałem na stronie umieścić panel "User tygodnia"
Miało to wyglądać tak:
Co tydzień losowałby usera i pokazywał jego podstawowe dane.
Umiem tylko zrobić żeby losował co odświeżenie strony, a mi potrzebne co tygodniowe losowanie.

Pomoże ktoś?

I coś podobnego chcę zrobić "Postać Miesiąca" i t by losowało co miesiąc jedną postać i jej opis (opisy itd. znajdowałby się w treści panelu). Tego tym bardziej nie wiem jak zrobić?

Z góry wielkie THX za pomoc Smile
 
Wścibski Gość
Dodany dnia 26.06.2024 13:20:53
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
kefirek
Ja bym zrobił tak na początku każdego tygodnia za pomocą CRON pobierał uzytkownika z bazy i zapisywał id tego użytkownika losowo wybranego do pliku. I tak za każdym razem na początku nowego tygodnia za pomocą CRON losujesz nowego użytkownika i zapisujesz jego id do pliku. Później tylko na podstawie tego id co zapisałeś w pliku wyświetlasz w ciągu tygodnia dane tego użytkownika.

Lub poprzez wywołanie skryptu na początku każdego tygodnia.

Kod który zwraca datę aktualnego tygodnia w formacie unix'owym można robić tak
Pobierz kod źródłowy  GeSHi: PHP
  1. $pon = strtotime('monday ago') + 604800;
Zinterpretowano w sekund: 0.012, wykorzystano GeSHi 1.0.8.10

Edytowane przez kefirek dnia 25.11.2008 13:50:25
 
Szapko
Znalazłem taki kog z tego CORNa:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Ma on podobno wywoływać przypisany mu skrypt co tydzień, ale nie mam zielonego pojęcia jak to teraz dalej zrobić. Nigdy nie miałem do czynienia z tym CORNem :(

Może jakieś podpowiedzi?
A może jest inny sposób na to, b o jakoś czytałem trochę o tym CORNie i nie mam pojęcia jak go uruchomić w EF :(
Edytowane przez Szapko dnia 25.11.2008 14:24:57
 
kefirek
Musisz się upewnić czy twój serwer obsługuje CRONa


Jeśli twój serwer nie obsługuje CRONa skorzystaj z tego http://www.webcro... potem
stwórz sobie plik np. losoj.php który pobierze ci losowo użytkownika i jego id zapisze do pliku txt potem na podstawie tego pliku w ciągu całego tygodnia będziesz wyświetlał dane o tym użytkowniku i za pomocą tej strony co podałem będziesz wywoływał w każdy poniedziałek o 00;00;00 ten plik losoj.php by wylosował nowego użytkownika

Dane z bazy myślę że umiesz pobierać oraz zapisywać do pliku ?
Edytowane przez kefirek dnia 25.11.2008 14:55:12
 
Szapko
Wywoływać tak, ale zapisywać nie, bo jeszcze tego nie potrzebowałem, ale sobie może jakoś poradzę Smile
Dzięki
Edytowane przez Szapko dnia 25.11.2008 15:24:29
 
kefirek
dan_0803 napisał/a:
Wywoływać tak, ale zapisywać nie, bo jeszcze tego nie potrzebowałem, ale sobie może jakoś poradzę Smile
Dzięki


Jakbyś nie dał rady to napisz to zrobię Wink
 
Szapko
No niestety nie radzę sobie z tym.

Udało mi się napisać coś takiego:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Brakuje tu jeszcze zapisywania jego ID.
Jak pomożesz to będę bardzo wdzięczny.
Edytowane przez Szapko dnia 25.11.2008 16:22:27
 
kefirek
Robisz tak tworzysz plik los.php który będzie losował użytkownika.
Plik umieszczasz w głównym folderze, kod pliku to

Pobierz kod źródłowy  GeSHi: PHP
  1.  
  2. <?php
  3. require_once "maincore.php";
  4.  
  5. $wynik = dbquery("SELECT user_id FROM ".$db_prefix."users WHERE user_level='101' ORDER BY RAND() LIMIT 1");
  6. if(dbrows($wynik) == 1) {
  7. $r = dbarray($wynik);
  8. $id = $r&#91;'user_id'&#93;;
  9. $file = "baza.txt";
  10. $fp = fopen($file, "w");
  11. flock($fp, 2);
  12. fwrite($fp, $id);
  13. flock($fp, 3);
  14. fclose($fp);
  15.  
  16. }
  17.  
  18. ?>
  19.  
Zinterpretowano w sekund: 0.012, wykorzystano GeSHi 1.0.8.10


Potem tworzysz plik baza.txt w którym będzie zapisywane id użytkownika. Plik umieszczasz w głównym folderze potem logujesz się na tej stronie http://www.webcro... i ustawiasz by wywoływało plik los.php w każdy poniedziałek. Robisz to poprzez wpisanie adresu www do pliku los.php potem odpalasz plik los.php na swoje stronie (po to by zapisać jakieś id do pliku) później zostawiasz ten plik w spokoju i go nie ruszasz w odpowiednim czasie zrobi to CRON. Na końcu wkleisz ten kod w panel.

Pobierz kod źródłowy  GeSHi: PHP
  1.  
  2. openside("name");
  3. $file = BASEDIR."baza.txt";
  4. $id = file_get_contents($file);
  5.  
  6. $wynik = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_id='$id' LIMIT 1");
  7. if(dbrows($wynik) == 1) {
  8. $r = dbarray($wynik);
  9. echo "<img src='".THEME."images/bullet.gif' alt=''> <a href='".BASEDIR."profile.php?lookup=".$r&#91;'user_id'&#93;."'>".$r&#91;'user_name'&#93;."</a>";
  10. }
  11. closeside();
  12.  
Zinterpretowano w sekund: 0.017, wykorzystano GeSHi 1.0.8.10

Edytowane przez kefirek dnia 25.11.2008 17:02:41
 
Szapko
Wielkie dzięki! Smile
Wierzę, że nie popełniłeś błędów i będzie wszystko działać, ale na razie nie mam jak tego sprawdzić Smile
Edytowane przez Szapko dnia 25.11.2008 20:09:54
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl