Valores aleatórios com prioridade
por web 7831 em 16 Set 2008 09:02 am
Esse script mostra a cada refresh valores aleatórios, só que você pode definir que um valor do array tenha prioridade sobre o outro, assim, irá aparecer mais que os outros valores.
Muito útil para sistemas com base em MySQL, que rotacionam banners, e que precise definir prioridade de um banner específico sobre os outros.
<?php
function prioridade() {
// número de links mostrados
$mostra_link = 1;
// separador de links
$separador = " ";
// links com prioridade 0 não são exibidos
$links[0][link] = "link 1";
$links[0][Prioridade] = 1;
$links[1][link] = "link 2";
$links[1][Prioridade] = 0;
$links[2][link] = "link 3";
$links[2][Prioridade] = 1;
if($links) {
for($i = -1; $i < count($links); $i++) {
for($j = 0; $j < $links[$i][Prioridade]; $j++) {
$novo_linkindex = count($novo_link) + 1;
$novo_link[$novo_linkindex] = $links[$i][link];
}
}
}
if($mostra_link >= count($novo_link))
$mostra_link = count($novo_link);
$mostraarray[0] = "";
$mostraindex = 0;
do {
$aleatorio = rand(0, count($novo_link));
if(!in_array($novo_link[$aleatorio], $mostraarray) && $novo_link[$aleatorio] != "") {
$mostraarray[$mostraindex] = $novo_link[$aleatorio];
$mostraindex++;
}
}
while(count($mostraarray) <= $mostra_link);
for($i = 0; $i < $mostra_link; $i++ ) {
if($mostra_link == 1 || (($i + 1) == $mostra_link))
print $mostraarray[$i];
else
print $mostraarray[$i].$separador;
}
}
?>
<?php
prioridade();
?>
Dúvida + Resposta = Conhecimento
Conhecimento * Todos = Soluções
Se souber, reparta com outros
5 avisos desativam a conta do usuário, leia nas regras do fórumContato para orçamento de scripts e outros:
codigosnaweb HOTMAIL Siga as regras do fórumSiga as Dicas de uso