Foros del Web » Programando para Internet » PHP »

random para un array resultado de un While

Estas en el tema de random para un array resultado de un While en el foro de PHP en Foros del Web. Hola, tengo este script que duras penas pude arreglarlo para mi uso, ahora es que me tope con algo que por mas que intente no ...
  #1 (permalink)  
Antiguo 02/11/2010, 10:15
 
Fecha de Ingreso: noviembre-2008
Ubicación: Cochabamba Bolivia
Mensajes: 519
Antigüedad: 15 años, 5 meses
Puntos: 26
random para un array resultado de un While

Hola, tengo este script que duras penas pude arreglarlo para mi uso, ahora es que me tope con algo que por mas que intente no se como hacerlo, de php solo se un poco mas de lo básico, por ello os pido su ayuda por favor.

Bueno el script lo que hace es leer un directorio de mi web y de ahi saca todas las imágenes con sus respectivas urls, ahora lo que quiero es que los resultados se muestren al asar, es decir, que las imágenes no me salgan en lista, y es que tampoco es que las imágenes estén subidas en orden, están con nombres desordenados, son simple tal cual los descargue y los subí.

Aqui les dejo el link de donde tengo el script, pueden ver que me imprime todo bien las imagenes, pero el punto es que yo quiero que salgan en orden aleatorio. Se hacerlo en la base de datos, pero asi con un array simple no se como hacerlo.

http://music-strike.net/utilidades-pages/codigo-extra/images_dedicatorias.php?modo=img_fondo&categoria=t odos

A todo esto les dejo el codigo:
Código PHP:
<?php 

   
//---Obtener variables pasadas por GET 
   
$path $url_cat
   
$files "jpg";
   
$order = !isset($_GET['order']) ? 'name' $_GET['order']; 
    
$n 1;
$x 4;
$rows "4";
    
   
//---Regular Expression 
   
$reg '/\w*+.+'$files .'$/'
    
   
$sum 0
    
   
//---Si es un directorio 
   
if(is_dir($path)){ 
       
      
//---Abrir el directorio 
      
if($gd opendir($path)){ 
          
         
//---Recorrer todos los archivos del directorio 
         
while(($archivo readdir($gd)) !== false){

             
            
//---Si se cumple la expresión regular 
                           
if(preg_match($reg$archivo) && !is_dir($archivo)){ 

               
$comple $com;
               
$url $comple $archivo;

            
//---Para el Titulo
              
$t str_replace("-"" "$archivo);
              
$ti str_replace("_"" "$t);
              
$tit str_replace(".php"" "$ti);
              
$titulo ucwords($tit);
?>
<td valign="top" align="left" width="120px">
<table>
<tr>
<td>
<a href="javascript:EnviaImagen('<?php echo $url?>')"><img src="<?php echo $url?>" width="120px" height="100px" style='border: 1px solid gray; padding: 2px; margin: 0px 10px 0 0px; width: 120px; height: 100px'/></a>
</td>
</tr>
</table>
<center>
<table  style='border-bottom: #000000 1px solid; border-left: #000000 1px solid; width: 100px; border-top: #000000 1px solid; border-right: #000000 1px solid;' border='0' bordercolor='#000000' cellspacing='1' cellpadding='5' background='http://music-strike.net/images/img05.gif' background-repeat='no-repeat'>
<tr>
<td>
<b><a href="javascript:EnviaImagen('<?php echo $url?>')">Seleccionar</a></b>
</td>
</table>
</center>
</td>
<?php

      
if($n == $x) { $y = ($x $rows); $x $y; echo("</tr><tr>"); }
//    if($n != $x) { echo(""); }
    
$n++;   


             }
         } 
          
      } 
       
   } 
    
    
?>
</table>
</body>
</html>
Gracias de antemano y saludos..
  #2 (permalink)  
Antiguo 02/11/2010, 12:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: random para un array resultado de un While

Ingretsa la información en una variable tipo array y luego con mt_rand lo creas en forma aleatoria y luego muestras la información.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 02/11/2010, 13:24
 
Fecha de Ingreso: noviembre-2008
Ubicación: Cochabamba Bolivia
Mensajes: 519
Antigüedad: 15 años, 5 meses
Puntos: 26
Respuesta: random para un array resultado de un While

Cita:
Iniciado por abimaelrc Ver Mensaje
Ingretsa la información en una variable tipo array y luego con mt_rand lo creas en forma aleatoria y luego muestras la información.
Imagino que al decir que lo ingrese la informacion en una variable tipo array, te refieres a esto:

$urls = array($url);

despues de eso lo imprimo con print_r($url); y me sale unos numeros raros, o bien ha veces con otras maneras de intento con array, me salen varios arrays dentros del otros arrays, imagino que el hecho de estar usando el while ya impide que se pueda usar la funcion array! por eso no me da.
  #4 (permalink)  
Antiguo 02/11/2010, 17:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: random para un array resultado de un While

Disculpa no es con mt_rand, es con shuffle. Algo así
Código PHP:
Ver original
  1. <?php
  2. $arr = array();
  3. while($row = ....){
  4.     $arr[] = $row;
  5. }
  6. var_dump($arr);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: aleatoria, imagenes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:13.