Ocena wątku:
- 1 głosów - średnia: 5
- 1
- 2
- 3
- 4
- 5
zmieniające się obrazki... wg kilku zasad
|
Liczba postów: 7
Liczba wątków: 3
Dołączył: 19-02-2012
Reputacja:
0
01-06-2012, 19:32
siemka,
chcę zrobić na stronie zmieniający się baner /nie reklama/ mają to być tematyczne obrazki strony ładowane z servera...
założenia:
-obrazek ma się zmieniać losowo
-możliwość ustalenia co jaki czas ma się zmienić obrazek /powiedzmy co 15 min./
-zmiana obrazka ma być "globalna" nie wiem jak to ujść... po prostu żeby każda osoba odwiedzająca stronę w tym samym momencie widziała ten sam obrazek...
jest w sieci kilka skryptów, ale takiego nie znalazłem a sam jestem za świeży żeby tak przerobić...
czy da się to zrobić w samym php?
pomoże ktoś?
Liczba postów: 367
Liczba wątków: 32
Dołączył: 22-04-2009
Reputacja:
9
Na pewno możesz wykluczyć że zrobisz to w samym php bo obrazek ma sie zmieniać co jakiś czas, php jest wykonywany na serwerze, gdy ja otworze strone i bede miał ją otwartą u siebie na kompie przez 5h to nic sie na niej nie zmieni 
Musisz użyć troszkę JS aby u mnie na kompie też zmiany były widoczne...
Możesz użyć funkcji rand() aby wylosować obrazek ale... niestety nie pomogę z tym aby każdy kto wchodzi na strone widział to samo.
Losując coś to każda osoba która wchodzi na strone i odświeża ja losuje na nowo. Musiał byś w jakiś sposób wylosować obrazek, zapisać w bazie jaki został wylosowany i potem gdy ja wchodze i 5 moich kolegów to strona selectem z bazy weźmie informacje o tym jaki obrazek został wylosowany w przeciągu ostatnich 15min i go wyświetli, za 15min znowu uruchomi się skrypt który wylosuje nowy. Podmieni wpis w bazie na nowo wylosowany link do obrazka poczym strona gdy ktoś na nią wejdzie znowu selectem pobierze informacje z bazy który obrazek wyświetlić. W ten sposób dało by się to zrobić, możesz np. na serwerach nazwa.pl tam wybrać sobie że co 15min ma uruchamiać skrypt który losuje obrazek rand() potem update robi w bazie i zapisuje wylosowany obrazek ale... założe się że inni użytkownicy tego forum wpadną na dużo lepsze pomysły od mojego...
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
Jeżeli rozrzut czasowy ma wynosić 15min itp, to wypisuj taki obrazek na sztywno PHP. NIKT nie siedzi na pojedynczej podstronie 15 minut. Chyba, że to Facebook albo jakieś dobre Porno.
W jQuery też jest to proste. Walisz ajaxem do serwera i w odpowiedzi uzyskujesz ścieżkę do pliku, który wyświetlasz.
Wzorek potworek, który z lenistwa nie został tutaj cały zapisany:
Kod: function poka() {
$.ajax({
complete: function(r) {
$('#obr').src = ..........
setTimeout('poka()', 150000);
}
});
}
$(function() {
setTimeout('poka()', 150000);
});
Liczba postów: 367
Liczba wątków: 32
Dołączył: 22-04-2009
Reputacja:
9
skąd wiedziałem że pode mną napisze post kartofelek :p
Liczba postów: 7
Liczba wątków: 3
Dołączył: 19-02-2012
Reputacja:
0
01-06-2012, 23:06
(Ten post był ostatnio modyfikowany: 02-06-2012, 00:05 przez dam-pro.)
ojoj, ciemność widzę
Cytat:...NIKT nie siedzi na pojedynczej podstronie 15 minut. Chyba, że to Facebook albo jakieś dobre Porno...
w sumie to mój błąd, chyba trochę niejasno wyjaśniłem... dany obrazek/baner /główny banner strony/ będzie na stronie głównej /w szablonie/, czyli też na wszystkich podstronach...
głównie chodzi mi o to aby obrazek był "na nowo wylosowany" co te 15 min... niezależnie od tego czy ktoś odświeża stronę czy nie
np:
następuje losowanie 1: [00:00:00 - 00:15:00] gdy ktoś w tym czasie odświeży stronę zobaczy obrazek wylosowany w 1 losowaniu
następuje losowanie 2: [00:15:01 - 00:30:00] gdy ktoś w tym czasie odświeży stronę zobaczy obrazek wylosowany w 2 losowaniu
następuje losowanie 3: [00:30:01 - 00:45:00] gdy ktoś w tym czasie odświeży stronę zobaczy obrazek wylosowany w 3 losowaniu
'i tak w nieskończoność'
lepiej wytłumaczyć nie potrafię
co do tego kodu, to chyba chodzi o coś takiego:
Kod: <HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<SCRIPT LANGUAGE= "JavaScript" type= "text/javascript">
<!-- Ukrycie przed przeglądarkami nie obsługującymi JavaScriptów
var liczbaBanerow = 3;
var timeout = 5;
function printBanner()
{
num = Math.floor(Math.random() * liczbaBanerow + 1);
name = "banner" + num + ".jpg";
tekst = "<IMG SRC='" + name + "'>";
document.getElementById("bannerLayer").innerHTML=tekst;
timerID = setTimeout("printBanner()", timeout * 1000);
}
// Koniec kodu JavaScript -->
</SCRIPT>
</HEAD>
<BODY onLoad="printBanner()">
<DIV
ID="bannerLayer"
STYLE="
visibility: visible;
position: absolute;
top: 20;
left: 20;"
>
</DIV>
</BODY>
ten działa dobrze z tym, że nie wiem jak zrobić, żeby dla wszystkich był odwiedzających stronę w tym samym czasie obrazek był taki sam... a ten kod dla każdego odświeżenia losowanie zaczyna od nowa
ps. co sądzicie o tym kodzie? czy jest poprawny?, na razie nie znalazłem nic lepszego, ale wydaje mi się to trochę głupie... bo:
-podczas każdego odświeżenia strony odbywa się nowe losowanie /+ losowanie czasowe/trochę to zbędne...
chyba lepiej by było, jakby jedno losowanie odbyło się co 15 min /tylko jedno dla wszystkich odświeżeń stron?
???
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
ciebie interesują 2 rzeczy: ile jest do kolejnej zmiany oraz potem co ile zmieniać baner. To pierwsze walisz z php. To drugie ustawiasz w js:
Kod: function poka() {
...tutaj pobierz randomowy obrazek i go poka
...
setTimeout('poka()', 15000);
}
setTimeout('poka()', <?php echo &zaIleNastapiKolejnaZmiana; ?>
A co do randomowych obrazków. To oczywiście tworzysz sobie randomową tablicę w php i potem ją serwujesz na sztywno każdej osobie. To coś jak shuffle w playerach. Czyli mieszasz rekordy, a potem po prostu jedziesz jeden po drugim i masz random 
[/code]
Liczba postów: 7
Liczba wątków: 3
Dołączył: 19-02-2012
Reputacja:
0
03-06-2012, 19:57
(Ten post był ostatnio modyfikowany: 03-06-2012, 20:08 przez dam-pro.)
Cytat:ciebie interesują 2 rzeczy: ile jest do kolejnej zmiany oraz potem co ile zmieniać baner. To pierwsze walisz z php. To drugie ustawiasz w js:
Kod:
function poka() {
...tutaj pobierz randomowy obrazek i go poka
...
setTimeout('poka()', 15000);
}
setTimeout('poka()', <?php echo &zaIleNastapiKolejnaZmiana; ?>
A co do randomowych obrazków. To oczywiście tworzysz sobie randomową tablicę w php i potem ją serwujesz na sztywno każdej osobie. To coś jak shuffle w playerach. Czyli mieszasz rekordy, a potem po prostu jedziesz jeden po drugim i masz random Smile
... nie potrafię tego zrobić... jestem puki co świeży i jak widzę nie kompletny skrypt to ciężko mi ocenić jego działanie, wydaje mi się, że to nie jest dokładnie to o co mi chodzi /chyba nie ogarnie 3 i 4 punktu wymienionego niżej/
jeszcze raz główne założenia:
1. obrazek ma się zmieniać co 15 min
2. ma się zmieniać losowo /wczytywać z serwera/
3. nie ma się zmieniać za każdym odświeżeniem strony !!!
4. każda osoba wchodząca na stronę w tym samym czasie ma widzieć ten sam obrazek !!!
przejrzałem trochę skryptów i jak do tej pory nie znalazłem właściwego, zwykle problem leży w ty, że skrypt aktywuje się podczas odświeżenia strony, co sprawia, że przy każdym odświeżeniu rozpoczyna się odliczanie... a to z góry przekreśla 3 i 4 założenie, a są one dla mnie bardzo ważne...
więc jak to ominąć?
Liczba postów: 252
Liczba wątków: 10
Dołączył: 06-02-2012
Reputacja:
14
03-06-2012, 21:09
(Ten post był ostatnio modyfikowany: 03-06-2012, 21:31 przez camelrafal.)
no to chyba najprościej zrobić aby skrypt php wyświetlający stronę paczał która jest godzina i na jej podstawie wyświetlał obrazek
np jeżeli jest 10:00 to wyświetl obrazek1.jpg jeżeli jest po 10:15 wyświetl obrazek2.jpg
a nie! jednak też źle
jeżeli ja wejde na stronę to od momentu mojego wejścia na stronę ma upłynąć 15min a co jeżeli po 5 minutach od mojego wejscia wejdzie jeszcze ktoś według czyjego czasu ma zmieniać obrazki?  (u każdego według jego czasu czy u wszystkich tak samo?[według czasu środkowoeuropejskiego])
chcesz aby po 15 minutach(u danej osoby) zmieniał się obrazek a jednocześnie dla wszystkich(obojętnie o której wejdą) żeby obrazek był taki sam?
te punkty same siebie wykluczają
punkt 4 wyklucza punkt 1
musiałbyś jeszcze raz sprecyzować punkt 4
jakby dosłownie potraktować punkt 4 to wychodzi na to że chcesz uzaskać to:
jeżeli 2 osoby wejdą o tej samej godzinie co do sekundy to logiczne że będą mieli takie same obrazki po upływie 15 min nawet gdy czas będziemy mierzyć lokalnie od momentu ich wejscia
Liczba postów: 7
Liczba wątków: 3
Dołączył: 19-02-2012
Reputacja:
0
dla czego się wykluczają???????
nie wiem jak mógłby to jeszcze jaśniej opisać...
w sumie to chodzi mi dokładnie o to jak na tej stronce:
a tu ich banery /ale to mało ważne/:
Kod: http://www.bakabt.com/banners.php
chcę zrobić dokładnie to samo, nie podawałem tego wcześniej bo baner na ich stronce zmienia się co ok 30 minut, więc trzeba trochę poczekać... jak się odświeża stronę to baner się nie zmienia, tylko co 30 min jest inny, dokładnie tego chcę
z tym, że nie wiem na jakiej zasadzie u nich jest wybierany baner, a ja chcę, żeby był losowany
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
napisanie kilku podstron - pomoc |
mapcel |
5 |
3,406 |
30-04-2012, 22:09
Ostatni post: kornell
|
|
Obrazki w różnych przeglądarkach |
ania12345 |
8 |
4,332 |
15-04-2012, 03:26
Ostatni post: kornell
|
|
Zmieniejace sie obrazki w logo..animacja |
[email protected] |
3 |
3,107 |
31-01-2012, 19:56
Ostatni post: Ancik
|
|
[PHP] Wypisanie kilku dat |
K0nio |
0 |
1,196 |
29-12-2011, 21:30
Ostatni post: K0nio
|
|
Obrazki nie wyświetlają się we wszystkich przeglądarkach.Co może być przyczyną? |
przemek2909 |
9 |
6,355 |
16-12-2011, 03:01
Ostatni post: magik83
|
Użytkownicy przeglądający ten wątek: 2 gości
|
|
Sponsorzy i przyjaciele
|
|
|