Citat Postat în original de ZMY Vezi Post
Ce zici tu este o problema diferita dar ar fi o rezolvare:

Cod PHP:
<?php

$random 
= rand(1, 100);

// 70% sanse
if($random <= 70){
print 
"BANNER 1";
}

// 20% sanse
elseif($random <= 90){
print 
"BANNER 2";
}

// 10% sanse
elseif($random <= 100){
print 
"BANNER 3";
}

?>
Bineinteles procentajul poate fi schimbat si adaugate mai multe bannere.

Normal ca posibilitatea este mare sa fie afisat bannerul 3 de 3 ori si bannerul 2 decat odata dar cand ai rand(1,4) cred ca este normal si daca alegi cu ochii inchisi este imposibil sa nu nimeresti de mai multe ori un singur lucru.
Codul ala de mai sus nu are nici o logica si nici nu este corect.
Ultimul elseif este intotdeauna executat, pt ca orice nr aleator intre 1 si 100 este intotdeuna mai mic sau egal cu 100.
Plus ca folosesti rand(), o functie prea simpla si care nu se potriveste cu ce vrei sa faci tu, in sensul ca se pot repeta aceleasi bannere (din 3 afisari e posibil sa iti dea acelasi banner de ex.)