Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Baner Menager - Kako

[es] :: PHP :: Baner Menager - Kako
(Zaključana tema (lock), by dakipro)

[ Pregleda: 4001 | Odgovora: 15 ] > FB > Twit

Postavi temu

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

m_k
Sarajevo [BiH]

Član broj: 29364
Poruke: 340
217.75.202.*

Sajt: www.mkscripts.net


Profil

icon Baner Menager - Kako27.02.2005. u 20:02 - pre 183 meseci
Hocu da napravim jednu skriptu koja ce prilkazivati banere na stranici. Koristio bi php i mysql. Zanema me kako da napravim da se prikazuje uvijek drugi baner. Jedino sto mi pada na pamet je random opcija.
May the force be with you...
 
0

Zlatiborac
Vladimir
Zlatibor

Član broj: 5397
Poruke: 117
*.vdial.verat.net.

Sajt: www.dphotonews.com


Profil

icon Re: Baner Menager - Kako27.02.2005. u 20:18 - pre 183 meseci
Pa u pravu si :)
Evo objasnicu ti prostim rechima jer me mrzi da ti sada pishem.
Napravi bazu sa poljima idBannera, url ka banneru, alt tekst, (mozesh dodati i polje koje bi sluzilo kao brojach klikova na banner ali ti sada nije neophodan).

Random funkcijom birash neki broj koji ce ujedno predstavljati idBannera prema kome cesh i dobiti url i alt. Zatim to prikazi na stranici.
Mozda ti ovo izgleda komplikovano ako nikada nisi nishta radio u PHPu ali veruj da se brzo savladati.

Evo ti kako cesh dobijati random broj:

Code:

MT_RAND()
Ova f-ja vraca random broj. Potrebno je definisati min i max vrednosti.
int mt_rand ([int min [,int max ]])
Tako, ako zelimo dobiti random broj izmedju 1 i 100 radimo sledece:

mt_srand((double)microtime()*
1000000);
$number =mt_rand(1,100);
echo $number;

Gde ce nam $number biti sluchajna vrednost.


Ako ti bash nije jasno :) javni se na PM pa cemo da odradimo to :)
Sajt sa dnevnim vestima vezanim za fotografiju, foto aparate i obradu slika
[url]http://www.dphotonews.com[/url]
 
0

m_k
Sarajevo [BiH]

Član broj: 29364
Poruke: 340
217.75.202.*

Sajt: www.mkscripts.net


Profil

icon Re: Baner Menager - Kako27.02.2005. u 21:18 - pre 183 meseci
Nebi li bilo jednostavnije:
$banner = mysql_query("SELECT * FROM baneri ORDER BY RAND() LIMIT 1");

Ja sam mislio na ovo. Problem je u tome sto nece ici po redu vec ce se desiti da neki baner prikaze 2 a neki ni jedanput.
May the force be with you...
 
0

_owl_

Član broj: 318
Poruke: 1042
*.blueisp.co.yu.



+3 Profil

icon Re: Baner Menager - Kako27.02.2005. u 23:44 - pre 183 meseci
Moguce je doraditi prilozeni SQL da se u obzir uzme i broj prikaza, tako da se dobije prilicno ravnomerna raspodela.
Owl
 
0

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Baner Menager - Kako28.02.2005. u 01:52 - pre 183 meseci
E pa u tom slucaju ti treba otezani random. Znaci uradis recimo listanje po broju prikazivanja, pa iz prve trecine izvuces random ili tako nesto. Moze to mnogo vise da se komplikuje - u tome se i razlikuju razliciti sistemi.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
0

eromario
Podgorica

Član broj: 44463
Poruke: 7
213.149.102.*

Sajt: www.digital.cg.yu


Profil

icon Re: Baner Menager - Kako28.02.2005. u 10:17 - pre 183 meseci
Najbolje je da stavis npr. da imas 15 ponavljanja i uvedes neki brojac (u bazi) koji ce ti ic od 1 do 15. I onda definises koliko ces svaki baner da ti ima ponavljanja i ides po redu dok ne "ispucas" sva ponavljanja, pa ispocetka.
 
0

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Baner Menager - Kako28.02.2005. u 15:34 - pre 183 meseci
Da ali ce onda baneri uvek ici redom jedan za drugim. Uvek je mnogo efektnije imati random efekat, da cesti posetilac ne zna vec napamet koja reklama ce "iskociti"
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
0

eromario
Podgorica

Član broj: 44463
Poruke: 7
*.crnagora.net.

Sajt: www.digital.cg.yu


Profil

icon Re: Baner Menager - Kako28.02.2005. u 17:08 - pre 183 meseci
Pa mislim da to nije ni malo bitno. Bitno je da se svi izmjenjaju, a ne moze posjetilac ni znat koji ce bit sledeci, jer ako neko u medjuvremenu posjeti taj sajt onda ce se tome prikazat sledeci baner. Tako ako neko plati da mu se svaki npr 15-ti put prikaze baner to ce i dobit sigurno
 
0

byM4k5
Banjaluka

Član broj: 22363
Poruke: 428
*.etfbl.net.



Profil

icon Re: Baner Menager - Kako01.03.2005. u 13:49 - pre 183 meseci
Rece poredu? Onda trebas imati mjesto gdje ces pamtiti koji je zadnji banner ili koji je sledeci. Mozes pamtiti unekom file-u to.

banner.txt -> "2"

Code:

<?php

// konektovanje na bazu

// file gdje je sledeci banner
$filename = 'banner.txt';

// ucitavanje broja
$handle = fopen($filename, "r");
$banner_id = fread($handle, filesize($filename));
fclose($handle);

// nadjemo banner
$sql = "SELECT path FROM banner WHERE id = $banner_id;";
mysql_query($sql);
$path = mysql_result($sql, 0, "path");

// ispis
echo "<img src=$path>";

// priprema za sledeci banner
$banner_id++;

// da ne bi izaslo van :)
if ($banner_id == 16)
{
      $banner_id = 1;
}

$handle = fopen($filename, 'w')
fwrite($handle, $banner_id);
fclose($handle);

?>


Dodaj jos kod koji provjerava da li je 1 ili 0, da ne bude korisnicima Error-a...

P.S. Ja mislim da se jos ovo moze skratiti jer imam duplo otvaranje file-a (fopen).
 
0

shketuljko
Vedran Martinovic
Institut za javno zdravlje Srbije „Dr
Milan Jovanović Batut”
Beograd

Član broj: 1370
Poruke: 43
212.200.105.*

Sajt: www.besplatnioglasi.rs


Profil

icon Re: Baner Menager - Kako19.10.2006. u 17:44 - pre 163 meseci
Kasnim puno na ovu temu ali evo moje vidjenje na ovaj problem koji je uvijek aktuelan!
Ne koristeci funkciju random() evo mali doprinos

<?php
/*
Recimo da je tabela banneres i da ima polja `id` i `impressions`
Prvi clan je id a drugi clan je impressions
*/
$array = array(1=>122,2=>122,3=>142,67=>123);
$check = 0;
foreach($array as $k=>$v){
if ($check == 0) {
$min = $array[$k];
$index = $k;
$check++;
}
if ($min > $array[$k]){
$min = $array[$k];
$index = $k;
}
}
/*
Kad se ovo odradi onda ce da prikaze na glavnoj stranici banner koji
je favorizovan tj. banner koji se najmanje prikazivao ... i onda mu impression poveca za 1;
U ovom slucaju on drzi uvijek bannere uredno i nikad ne pusta da se jedan prikaze
vise od jednog puta u odnosu na druge!!!
*/
echo $index." ".$min."<br />";

?>


Ako neko misli da ovo nije ok neka mi proslijedi mail ili komentar!
Bio bih Vam zahvalan!
Vedran Martinovic
www.besplatnioglasi.rs
 
0

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1105
*.ptt.yu.

Sajt: www.gvozden.info


+65 Profil

icon Re: Baner Menager - Kako20.10.2006. u 08:32 - pre 163 meseci
Nesto jednostavno

SELECT * FROM baneri ORDER BY broj_prikaza ASC, RAND() LIMIT 1

a potom UPDATE baneri SET broj_prikaza=broj_prikaza+1

znaci: prikazuje se oni koji imaju najmanji broj prikazivanja.

Naravno ovo ne resava problem kada se pojavi novi baner, a ostali imaju vec po 1000... prikaza

Onda bi osnovni upit trebalo da koristi i neki index - recimo broj_prikaza/max_broj_prikaza

 
0

shketuljko
Vedran Martinovic
Institut za javno zdravlje Srbije „Dr
Milan Jovanović Batut”
Beograd

Član broj: 1370
Poruke: 43
212.200.118.*

Sajt: www.besplatnioglasi.rs


Profil

icon Re: Baner Menager - Kako25.10.2006. u 10:54 - pre 163 meseci
Pa 'ajde da onda razradimo strategiju da se dodavanjem novog banera favorizuje isti.

Svidja mi se ovaj upit, mada mislim da je svakako potrebno izracunavanje, pa sam i zato napisao funkciju.

To sa index-om bas i ne razumijem dobro ... ali kao sto vec rekoh ... tu smo i da ucimo
Vedran Martinovic
www.besplatnioglasi.rs
 
0

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.91.*

Sajt: ohridnews.com


Profil

icon Re: Baner Menager - Kako25.10.2006. u 18:50 - pre 163 meseci
Najbolje bi bilo da se vodi evidencija kada je baner zadnji put prikazan, pa sprema tome bi svi baneri bez razlike na broj prikazivanja bili ravnopravni. Baneri koji nisu prikazini najduze vreme bi imali prioritet.
Ovako:
$result = mysql_query("select * from baneri order by vreme_prikaza asc limit 5");
// limit 5 je da ne bi se proizveo neki sablon nego da u igri budu 5 banera koji nisu prikazani duze vreme.

while ($row = mysql_fetch_array($result)){
$baneri[] = $row['vreme_prikaza']; // ili logicnije ID banera
}
$broj_banera = count($baneri);
$random_baner = rand() % $broj_banera;
$prikazi_baner = $baneri[$random_baner];

i onda
UPDATE baneri SET broj_prikaza=broj_prikaza+1, vreme_prikaza = time()


 
0

shketuljko
Vedran Martinovic
Institut za javno zdravlje Srbije „Dr
Milan Jovanović Batut”
Beograd

Član broj: 1370
Poruke: 43
*.dialup.neobee.net.

Sajt: www.besplatnioglasi.rs


Profil

icon Re: Baner Menager - Kako25.10.2006. u 21:50 - pre 163 meseci
Ja mislim da to sto je napisano opet radi sablon jer se iz baze izdvajaju baneri koji nisu prikazivani neko odredjeno vrijeme i onda se izmedju tih 5 banera bira jedan... Sve je to ok ali moj predlog da razmotrimo sta se desava kad se dodaje novi baner i onda njega treba favorizovati do izjednacavanja broja prikaza svih banera ...
Ako sam u pravu tu treba malo da se razmislja o matematici kako da se, kao sto rece Gvozden, uvede neki index koji bi davao znacaj tj. prioritet nekom baneru ...
ja evo pisem algoritam pa cu postovati ako bude povoljan rezultat :)


POZDRAV!
Vedran Martinovic
www.besplatnioglasi.rs
 
0

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.91.*

Sajt: ohridnews.com


Profil

icon Re: Baner Menager - Kako25.10.2006. u 22:05 - pre 163 meseci
Citat:
shketuljko:
Sve je to ok ali moj predlog da razmotrimo sta se desava kad se dodaje novi baner i onda njega treba favorizovati do izjednacavanja broja prikaza svih banera ...

Moze i tako ali malo mi logika nije jasna.
Nemozes izjednacavati neki baner koji se prikazuje 5 godina i neki koji si postavio juce.
Za mene je bitnije da svi baneri budu ravnopravni u sadasnje vreme i eto da bi se izbegao neki sablon prikazivanja.
 
0

shketuljko
Vedran Martinovic
Institut za javno zdravlje Srbije „Dr
Milan Jovanović Batut”
Beograd

Član broj: 1370
Poruke: 43
212.200.118.*

Sajt: www.besplatnioglasi.rs


Profil

icon Re: Baner Menager - Kako26.10.2006. u 11:17 - pre 163 meseci
E tu si stvarno u pravu!

Ne mozemo izjednacavati, ali mozemo favorizovati da se prikazuje vise puta u odnosu na druge ...
Svidja mi se rjesenje sa vremenom prikaza!
To je veoma dobro onda!


Vedran Martinovic
www.besplatnioglasi.rs
 
0

[es] :: PHP :: Baner Menager - Kako
(Zaključana tema (lock), by dakipro)

[ Pregleda: 4001 | Odgovora: 15 ] > FB > Twit

Postavi temu

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.