Random en PHP

varuk

Hola.

Mirad, tengo este código que lo que hace es cambiar el fondo de una web según el número que salga. Sin embargo este código que veis aquí no va.

<?php
$result_random=rand(1, 3);
if($result_random=1){ ?>
<body style="background: #FFF url(fondos-norte/fondo-no-es-lo-que-era.jpg) no-repeat center top">
<?php }
elseif($result_random=2){ ?>
<body style="background: #FFF url(fondos-norte/fondo-galiza-verde-chan.jpg) no-repeat center top">
<?php }
elseif($result_random=3){ ?>
<body style="background: #FFF url(fondos-norte/fondo-marichalar-style.jpg) no-repeat center top">
<?php } ?>

Por el contrario, si lo pongo de esta forma, con el signo "<=", entonce sí que va. ¿Por qué pasa eso?

<?php
$result_random=rand(1, 4);
if($result_random<=2){ ?>
<body style="background: #FFF url(fondos-norte/fondo-no-es-lo-que-era.jpg) no-repeat center top">
<?php }
elseif($result_random<=3){ ?>
<body style="background: #FFF url(fondos-norte/fondo-galiza-verde-chan.jpg) no-repeat center top">
<?php }
elseif($result_random<=4){ ?>
<body style="background: #FFF url(fondos-norte/fondo-marichalar-style.jpg) no-repeat center top">
<?php } ?>

Muchas gracias

mal3kith

Es lógico que no valla. No estas comparando sino asignando valores, un igual asigna 2 compara

if($result_random=1) <-- hace que $result_random sea 1

if($result_random==1) <-- comprueba si $result_random es o no 1

PD: sin animo de ofender el código es muy feo, haz clases css o mete la url de la foto o el nombre en una variable o algo... me ha desanimado solo verlo y eso que es mas simple que la ostia... xD

varuk

Hostia es verdad... que imbecil soy. Muchas gracias.

Ya he puesto un rotador de imágenes que se escogen de una carpeta con fotos. Ahora ha quedado todo más simplificado. Algo así:

<body style="background: #FFF url(<?php include "rotador.php"; ?> ) no-repeat center top">

Usuarios habituales

  • varuk
  • mal3kith