Foros del Web » Programando para Internet » PHP »

problema con contenido al azar

Estas en el tema de problema con contenido al azar en el foro de PHP en Foros del Web. tengo: Código PHP: $sSQL  = "SELECT user_id FROM usuarios WHERE estilo1_usuario='" . $estilo . "' OR estilo2_usuario='" . $estilo . "' LIMIT 5" ;   $rs  =  mysql_query ( $sSQL ); while( $row  =  mysql_fetch_array ...
  #1 (permalink)  
Antiguo 18/02/2008, 23:06
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 10 meses
Puntos: 0
problema con contenido al azar

tengo:
Código PHP:
$sSQL ="SELECT user_id FROM usuarios WHERE estilo1_usuario='".$estilo."' OR estilo2_usuario='".$estilo."' LIMIT 5";  
$rs mysql_query($sSQL);

while(
$row mysql_fetch_array($rs)){
      
$array_values[] = $row["user_id"];

$random_id array_rand($array_values); 
$sSql=mysql_query("SELECT * FROM usuarios WHERE user_id='".$random_id."'");

 while (
$row mysql_fetch_array($sSql))
 {

   echo 
"
    <tr><td style='padding-top:2px; padding-bottom:2px; padding-left:2px; border-bottom: solid 1px #9C9C9C;' class='c'>
     <img src='imagenes/arrow.png'> <a href='index.php?a=perfil&id="
.$row['user_id']."' style='font-size:11px;'>".$row['user_name']."</a>
    </td></tr>
   "
;
 } 
el drama es que solo me muestra un resultado, como hago para q emuestre los 5?

saludos!
  #2 (permalink)  
Antiguo 19/02/2008, 02:05
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años
Puntos: 48
Re: problema con contenido al azar

Haz un shuffle() www.php.net/shuffle del array $array_values . Luego en la consulta vas a usar IN www.mysql.com/IN , asi que tienes que crear con implode() www.php.net/implode la cadena a partir de $array_values .
Código PHP:
$sSQL ="SELECT user_id FROM usuarios WHERE estilo1_usuario='".$estilo."' OR estilo2_usuario='".$estilo."' LIMIT 5";  
$rs mysql_query($sSQL);

while(
$row mysql_fetch_array($rs)){
      
$array_values[] = $row["user_id"];

shuffle($array_values);
$texto_in=implode(',',$array_values);
$sSql=mysql_query("SELECT * FROM usuarios WHERE user_id IN (".$texto_in.")");

 while (
$row mysql_fetch_array($sSql))
 {

   echo 
"
    <tr><td style='padding-top:2px; padding-bottom:2px; padding-left:2px; border-bottom: solid 1px #9C9C9C;' class='c'>
     <img src='imagenes/arrow.png'> <a href='index.php?a=perfil&id="
.$row['user_id']."' style='font-size:11px;'>".$row['user_name']."</a>
    </td></tr>
   "
;
 } 
  #3 (permalink)  
Antiguo 19/02/2008, 14:25
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con contenido al azar

me da error la linea :

while ($row = mysql_fetch_array($sSql))

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/concerta/public_html/directorio_estilos.php on line 47
  #4 (permalink)  
Antiguo 19/02/2008, 15:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: problema con contenido al azar

Ese error te sale porque de seguro tienes un error en tu consulta SQL, imprime la consulta en pantalla para que verifiques que esta correcta.

Saludos.
  #5 (permalink)  
Antiguo 19/02/2008, 17:34
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con contenido al azar

ya pude solucionar ese problema.. era que le faltaba ' a IN (".$texto_in.")

pero el drama... es que solo me sigue obteniendo 1 fila y yo quiero que me obtenga 5 filas al azar, y a veces encima no obtiene nada... les agradesco si me dicen como solucionar eso, un saludo
  #6 (permalink)  
Antiguo 19/02/2008, 17:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: problema con contenido al azar

Creo tu problema es tu primer consulta:
Código PHP:
$sSQL ="SELECT user_id FROM usuarios WHERE estilo1_usuario='".$estilo."' OR estilo2_usuario='".$estilo."' LIMIT 5"
Dependiendo de donde venga $estilo te lo va a limitar, posteriormente debes de usar ORDER BY RAND() para que te regrese resultados aleatorios.

Saludos.
  #7 (permalink)  
Antiguo 19/02/2008, 19:45
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con contenido al azar

Cita:
Iniciado por GatorV Ver Mensaje
Creo tu problema es tu primer consulta:
Código PHP:
$sSQL ="SELECT user_id FROM usuarios WHERE estilo1_usuario='".$estilo."' OR estilo2_usuario='".$estilo."' LIMIT 5"
Dependiendo de donde venga $estilo te lo va a limitar, posteriormente debes de usar ORDER BY RAND() para que te regrese resultados aleatorios.

Saludos.
como seria todo entonces?
pero el order by rand no dicen que consume muchos recursos??
saludos
  #8 (permalink)  
Antiguo 20/02/2008, 15:30
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con contenido al azar

me ayudan?? gracias!!!
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 12:53.