Imagen aleatoria muestra lo mismo

  • Autor Autor eic2010
  • Fecha de inicio Fecha de inicio
E

eic2010

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de 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>';  

?>
 
[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 edición:
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" />
 
Atrás
Arriba