rotator banerów |
rotator banerów |
7.06.2004, 18:05:57
Post
#1
|
|
Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) |
witam:
mam takie skrypt dodający linki do banerów (z formularza): [php:1:90b3ea2541]<?php $base="banery.php"; $data="$url*|*$baner*|*$title"; $data="$datan"; $f=fopen($base, a); flock($f, 2); fputs($f, $data); flock($f, 3); fclose($f); ?>[/php:1:90b3ea2541] jak teraz ma wyglądać skrypt który będzie losowo wybierał jeden z banerów i go wyświetlał ? pozdrawiam i dzięki za podpowiedzi :-) |
|
|
7.06.2004, 18:09:17
Post
#2
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz |
[php:1:5606aadff7]<?php
$banery = file("baza"); srand ((float)microtime()*1000000); shuffle($banery); for($i=0;$i<3;$i++) { list($url,$baner,$title) = explode('*|*', $banery[$i]); echo '<a href="'.$url.'" target="_blank" title="'.$title.'"><img src="'.$baner.'"></a><br />'; } ?>[/php:1:5606aadff7] Chyba tak Kod for($i=0;$i<3;$i++) {
Te 3 to oznacza ile ma wysietlic tych banerkow :] |
|
|
7.06.2004, 18:43:46
Post
#3
|
|
Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) |
ok, wszyetko działa, wielkie dzięki :-)
aha, jeszcze tylko jedno pytanko: czyli nie wylosuje dwóch tych samycg bbanerów ? tzn. jeżeli ustawie na 2 pod sobą to nie zdazy się tak, że będą dwa takie same ? |
|
|
7.06.2004, 20:24:48
Post
#4
|
|
Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) |
ja by to zrobil tak:
[php:1:1ed7012352]<?php $dane = file("bannery.db"); $banner = mt_rand(1,4); //bedzie losowal jeden banner z 4 (od 1 do 4) $linia = explode('*|*', $dane[$banner]); echo '<a href="'.$linia[0].'" target="blank" title="'.$linia[1].'"><img src="'.$linia[2].'"></a>'; ?>[/php:1:1ed7012352] $linia[0] - link do strony $linia[1] - opis $linia[2] - adres do strony nie wiem czy bedzie to dzialalo bo pisalem z glowy. Moj przyklad iniknie wylosowanie sie tych samych bannerow (bo losuje sie jeden). Co do skryptu poprzednika, to prawdopodbnie istnieje mozliwosc pokazania sie tych samych bannerow przy malej ich ilosc w bazie. W raz z wieksza iloscia bannerow, prawdopodobienstwo maleje. -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
7.06.2004, 21:38:59
Post
#5
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz |
Cytat ok, wszyetko działa, wielkie dzięki :-)
aha, jeszcze tylko jedno pytanko: czyli nie wylosuje dwóch tych samycg bbanerów ? tzn. jeżeli ustawie na 2 pod sobą to nie zdazy się tak, że będą dwa takie same ? Nie wysietli 2 tyc samych bo ot jets tablica i jdzie 3 pokoleji -> pod warunkiem ze nie dasz 2 raz ytego samego banera do wysietlenia |
|
|
9.06.2004, 13:26:47
Post
#6
|
|
Grupa: Zarejestrowani Postów: 227 Pomógł: 0 Dołączył: 13.06.2003 Skąd: rykowice Ostrzeżenie: (0%) |
a jak zrobic by byly wyswietlane po koleji a nie losowo ?
|
|
|
9.06.2004, 13:36:31
Post
#7
|
|
Grupa: Zarejestrowani Postów: 335 Pomógł: 0 Dołączył: 15.11.2003 Ostrzeżenie: (0%) |
Cytat a jak zrobic by byly wyswietlane po koleji a nie losowo ?
Tworzysz plik w którym jest liczba 1 za każdym razem kiedy wyświetlisz baner powiększaj tą liczbę o 1. Dzięki temu będziesz mógł kolejno wyświetlać banery EDIT: kodzik : [php:1:86a0fa6fd6]<?php $file = file('pliktekshowy.txt'); $file2 = implode(file('liczby.txt')); $file2++; $plik = fopen("liczby.txt","w"); fputs($plik,$file2); fclose($plik); list($url,$baner,$title) = explode('?//?', $file[$file2]); echo '<a href="'.$url.'" target="_blank" title="'.$title.'"><img src="'.$baner.'"></a><br />'; ?>[/php:1:86a0fa6fd6] $file = link?//?obrazek?//?altczytamtitle $file2 = plik z liczbami |
|
|
9.06.2004, 13:39:43
Post
#8
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz |
Cytat a jak zrobic by byly wyswietlane po koleji a nie losowo ?
Po koleji to tak troche dziwnie zalezy oco Ci chodzi... Po koleji dla uzytkownika? Jezeli tak to [php:1:e547e892e4]<?php $arrFile = file( 'banerki.base' ); if( isset( $_COOKIE['show'] ) ) { $intShow = $_COOKIE['show']; $intShow++; if( $intShow == count( $arrFile ) ) { $intShow = '0'; } setcookie( 'show', $intShow, time()+60*60*24 ); // 24h waznosci } else { $intShow = '0'; setcookie( 'show', $intShow, time()+60*60*24 ); // 24h waznosci } $strLine = $arrFile[$intShow]; // i $strLine posiada linie ktora ma byc wysietlona ?>[/php:1:e547e892e4] 2 rozwazenie to niewazne czy gosc wdziala wazne ze pokoleji dodajesz do 'banerka' [manual:e547e892e4]time[/manual:e547e892e4]() i sprawdzasz ktore jets najkniejesze i te wyswietlasz wraz z aktualizacja [manual:e547e892e4]time[/manual:e547e892e4]() na aktulane Pisane z glowy wiece moga byc bledy ale napewno sobie poradzisz sam i poprawisz |
|
|
9.06.2004, 13:43:45
Post
#9
|
|
Grupa: Zarejestrowani Postów: 227 Pomógł: 0 Dołączył: 13.06.2003 Skąd: rykowice Ostrzeżenie: (0%) |
hmmm wsumie mzoe byc, ale chodzilo mi ze pokoleji bedzie odczytywany z tablicy, tzn zaden nie bedzie 2razy z rzedu i na 100% wyswietla sie wszystkie
--------------- qrcze juz jest prawie tak jak chce, wyswietla w odpowiednije kolejnosci tylko ze jak sie tablica skonczy to leci dalej i nic nie pokazuje na liczby sa dalej nabijane.. edytuj posty! kszychu |
|
|
9.06.2004, 14:25:37
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) |
Jak dojdzie do końca tablicy zeruj liczbę.
I edytuj swoje posty. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
9.06.2004, 15:02:08
Post
#11
|
|
Grupa: Zarejestrowani Postów: 335 Pomógł: 0 Dołączył: 15.11.2003 Ostrzeżenie: (0%) |
Wystarczy do tego warunek If ;-)
|
|
|
9.06.2004, 15:21:26
Post
#12
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz |
[php:1:be53624509]<?php
if( $intShow == count( $arrFile ) ) { $intShow = '0'; } ?>[/php:1:be53624509] |
|
|
9.06.2004, 15:23:53
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) |
A od kiedy to integery zapisujemy w ciapkach jak stringi? :-D
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
9.06.2004, 15:26:54
Post
#14
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz |
Cytat A od kiedy to integery zapisujemy w ciapkach jak stringi? :-D
oj 'czasem' mi sie myla |
|
|
9.06.2004, 21:23:15
Post
#15
|
|
Grupa: Zarejestrowani Postów: 227 Pomógł: 0 Dołączył: 13.06.2003 Skąd: rykowice Ostrzeżenie: (0%) |
ale chodzi mi o ten kod :wink:
[php:1:080a2ea4bf]<?php $file = file('pliktekshowy.txt'); $file2 = implode(file('liczby.txt')); $file2++; $plik = fopen("liczby.txt","w"); fputs($plik,$file2); fclose($plik); list($url,$baner,$title) = explode('?//?', $file[$file2]); echo '<a href="'.$url.'" target="_blank" title="'.$title.'"><img src="'.$baner.'"></a><br />'; ?>[/php:1:080a2ea4bf] |
|
|
10.06.2004, 21:45:12
Post
#16
|
|
Grupa: Zarejestrowani Postów: 227 Pomógł: 0 Dołączył: 13.06.2003 Skąd: rykowice Ostrzeżenie: (0%) |
to ja juz nie wiem co ja mam w konuc zrobic, nic mi nie dziala
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 23:19 |