Guest --Tony -- Postado Julho 30, 2008 Denunciar Share Postado Julho 30, 2008 Ola pessoal...td legal...Preciso de uma ajuda, tem o seguinte array:CODE<?$bannerindex= array( 'dow' => array( 'link' => 'http://www.dowattainability.com', 'alt' => 'Dow' ),'petrobras' => array( 'link' => '#', 'alt' => 'Petrobras' ),'terracom' => array( 'link' => 'http://www.terracom.com.br', 'alt' => 'Terracom' ),'cosipa' => array( 'link' => 'http://www.cosipa.com.br', 'alt' => 'Cosipa' ) );?>Eu preciso fazer uma programação que faça o sorteio de apenas 1 registro desses...pois será um banner rotativo...onde sempre aparece um na pagina.Usei o array_rand como no exemplo abaixo:<? $sort = array_rand($bannerindex,1);foreach( $sort as $k ){$p = $bannerindex[$k]; ?><a href=<?=$p['link]?>" target="_blank" /><img class="ban" src="img/index/patrocinadores/<?=$k?>.jpg" title="<?=$p['alt']?>" /></a><? } ?>Porém dá erro no foreach porque adicionei apenas 1 no array_rand ($bannerindex,1)...se eu adiciono 2 ou mais ele funciona perfeitamente... alguém pode me ajudar??Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 30, 2008 Denunciar Share Postado Julho 30, 2008 O padrão é 1, logo, no seu caso não é necessário informar valor algum. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Tony -- Postado Julho 30, 2008 Denunciar Share Postado Julho 30, 2008 O padrão é 1, logo, no seu caso não é necessário informar valor algum.Ola amigo...obrigado...mas já fiz isso e dá erro:<? $banner = array( 'bignet' => array( 'link' => 'http://www.bignet.com.br', 'alt' => 'Bignet' ), 'dow' =>array( 'link' => 'http://www.dowattainability.com', 'alt' => 'Dow' ), 'petrobras' =>array( 'link' => '#', 'alt' => 'Petrobras' ), 'cosipa'=> array( 'link' => 'http://www.cosipa.com.br', 'alt' => 'Cosipa' ) ); ?> <? $sort = array_rand($banner); foreach( $sort as $k ) { $p = $banner[$k]; ?> <a href="<?=$p['link']?>" target="_blank" /><img class="ban" src="img/index/patrocinadores/<?=$k?>.jpg" title="<?=$p['alt']?>" /></a> <? } ?>O erro que surge:Warning: Invalid argument supplied for foreach() Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 30, 2008 Denunciar Share Postado Julho 30, 2008 Dá um print_r($sort) para ver o que sai... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --Tony --
Ola pessoal...td legal...
Preciso de uma ajuda, tem o seguinte array:
CODE
<?
$bannerindex=
array( 'dow' => array( 'link' => 'http://www.dowattainability.com', 'alt' => 'Dow' ),
'petrobras' => array( 'link' => '#', 'alt' => 'Petrobras' ),
'terracom' => array( 'link' => 'http://www.terracom.com.br', 'alt' => 'Terracom' ),
'cosipa' => array( 'link' => 'http://www.cosipa.com.br', 'alt' => 'Cosipa' ) );
?>
Eu preciso fazer uma programação que faça o sorteio de apenas 1 registro desses...pois será um banner rotativo...onde sempre aparece um na pagina.
Usei o array_rand como no exemplo abaixo:
<?
$sort = array_rand($bannerindex,1);
foreach( $sort as $k )
{
$p = $bannerindex[$k];
?>
<a href=<?=$p['link]?>" target="_blank" /><img class="ban" src="img/index/patrocinadores/<?=$k?>.jpg" title="<?=$p['alt']?>" /></a>
<? } ?>
Porém dá erro no foreach porque adicionei apenas 1 no array_rand ($bannerindex,1)...se eu adiciono 2 ou mais ele funciona perfeitamente... alguém pode me ajudar??
Obrigado!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.