Imagem aleatória mostra a mesma coisa

  • Autor Autor eic2010
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
E

eic2010

Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
hola estoy utilizando array para mostrar dos imágenes aleatoria pero en la dos me muestra la misma elección y yo quiero que si una muestra imagen1 la otra muestre imagen2 o imagen3 o imagen4



PHP:
<?php

$images = array(
    array("imagen" => "http://miweb/wp-content/uploads/imagen1.png",
        "link"     => "http://www.google.com/"),

    array("imagen" => "http://miweb/wp-content/uploads/imagen2.png",
        "link"     => "http://www.yahoo.com/"),

    array("imagen" => "http://miweb/wp-content/uploads/imagen3.png",
        "link"     => "http://www.live.com/"),

    array("imagen" => "http://miweb/wp-content/uploads/imagen4.png",
        "link"     => "http://www.google.org/")
);

$chosen = array_rand($images);

$image = $images[$chosen]["imagen"];
$link = $images[$chosen]["link"];

echo '<a  href="'.$link.'"><img src="'.$image.'" width="300" height="250" style="margin:5px;margin-top:35px;"/></a>';
		  
		$image = $images[$chosen]["imagen"];
$link = $images[$chosen]["link"];

echo '<a  href="'.$link.'"><img src="'.$image.'" width="300" height="250" style="margin:5px;margin-top:35px;"/></a>';  

?>
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
[MENTION=182397]eic2010[/MENTION] lo que pasa es que en los dos echo, estas llamando al mismo rand() ($chosen) por lo tanto te dará el mismo resultado.

PHP:
$chosen = array_rand($images);  ///////////// random 1 
$chosen2 = array_rand($images); //////////// random 2 

$image = $images[$chosen]["imagen"];  ///////////// random 1 
$link = $images[$chosen]["link"];   ///////////// random 1 

echo '<a  href="'.$link.'"><img src="'.$image.'" width="300" height="250" style="margin:5px;margin-top:35px;"/></a>'; 
           
        $image = $images[$chosen2]["imagen"];  //////////// random 2 
$link = $images[$chosen2]["link"];  //////////// random 2 

echo '<a  href="'.$link.'"><img src="'.$image.'" width="300" height="250" style="margin:5px;margin-top:35px;"/></a>';
 
Muchas gracias igual cada tanto se repiten por ahí tendría que buscar como poner algo como que $chosen2 sea cualquier imagen menos la elegida en $chose se podrá???

$chosen2 = (menos $chosen) array_rand($images);
 
PHP:
<?php

$images = array(
    array("imagen" => "http://miweb/wp-content/uploads/imagen1.png",
        "link"     => "http://www.google.com/"),
    array("imagen" => "http://miweb/wp-content/uploads/imagen2.png",
        "link"     => "http://www.yahoo.com/"),
    array("imagen" => "http://miweb/wp-content/uploads/imagen3.png",
        "link"     => "http://www.live.com/"),
    array("imagen" => "http://miweb/wp-content/uploads/imagen4.png",
        "link"     => "http://www.google.org/")
);

$chosen = array_rand($images);
$chosenPosition = array_search($images[$chosen], $images);

$link1 = $images[$chosenPosition]["link"];
$image1 = $images[$chosenPosition]["imagen"];

unset($images[$chosenPosition]);
$chosen = array_rand($images);
$chosenPosition = array_search($images[$chosen], $images);

$link2 = $images[$chosenPosition]["link"];
$image2 = $images[$chosenPosition]["imagen"];

echo '<a  href="'.$link1.'"><img src="'.$image1.'" width="300" height="250" style="margin:5px;margin-top:35px;"/></a>';
echo '<a  href="'.$link2.'"><img src="'.$image2.'" width="300" height="250" style="margin:5px;margin-top:35px;"/></a>';
 
Última edição:
Excelente muchas gracias por responder no se si es de mucha molestia pero si me pueden decir tambien como seria que se muestre ordenado seria genial porque pensaba en poner una imagen arriba en la cabecera pero que se muestren en orden y abajo del texto se mostraria aleatorio

- - - Actualizado - - -

Para los que no necesiten poner link a su imagen encontré este codigo simple

PHP:
<img src="http://tuweb.com/wp-content/uploads/<?php $random = rand(1,4); echo $random; ?>.jpg" alt="[ texto alternativo si no llega a mostrar imagen ]" height="200" width="200" />
 
Voltar
Topo