Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> rotator banerów
bronx
post 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 :-)
Go to the top of the page
+Quote Post
hwao
post 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 tongue.gif

Kod
for($i=0;$i<3;$i++) {

Te 3 to oznacza ile ma wysietlic tych banerkow :]
Go to the top of the page
+Quote Post
bronx
post 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 questionmark.gif?
Go to the top of the page
+Quote Post
shpyo
post 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.


--------------------
Go to the top of the page
+Quote Post
hwao
post 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 questionmark.gif?

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 winksmiley.jpg
Go to the top of the page
+Quote Post
Gligamesh
post 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 ?
Go to the top of the page
+Quote Post
Chewolf
post 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 biggrin.gif
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 biggrin.gif
$file2 = plik z liczbami biggrin.gif
Go to the top of the page
+Quote Post
hwao
post 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 smile.gif
Go to the top of the page
+Quote Post
Gligamesh
post 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.. rolleyes.gif

edytuj posty! kszychu
Go to the top of the page
+Quote Post
kszychu
post 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
Go to the top of the page
+Quote Post
Chewolf
post 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 ;-)
Go to the top of the page
+Quote Post
hwao
post 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]
Go to the top of the page
+Quote Post
kszychu
post 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
Go to the top of the page
+Quote Post
hwao
post 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 winksmiley.jpg
Go to the top of the page
+Quote Post
Gligamesh
post 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]
Go to the top of the page
+Quote Post
Gligamesh
post 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 sad.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 23:19