Foros del Web » Programando para Internet » PHP »

Consulta Aleatoria -by rand()-

Estas en el tema de Consulta Aleatoria -by rand()- en el foro de PHP en Foros del Web. Hola gente !!! Estoy con un pequeño problemita y terminando de armar mi sitio. En la pagina principal quiero hacer un aviso aleatorio, que busque ...
  #1 (permalink)  
Antiguo 22/04/2013, 17:23
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Consulta Aleatoria -by rand()-

Hola gente !!!
Estoy con un pequeño problemita y terminando de armar mi sitio.

En la pagina principal quiero hacer un aviso aleatorio,
que busque en los usuarios .

Se elije un usuario al azar y de ese usuario una publicacion al azar una categoria en particular.



La consulta la hago de esta manera:

Código PHP:
Ver original
  1. $result = mysql_query("select * from usuarios order by RAND() limit 0,1",$conexion) or  die("Problemas en el select:".mysql_error());
  2. while($ban = mysql_fetch_array($result))
  3.  
  4. {
  5. $user=$ban['login'];
  6. }
  7.  
  8. $resultp = mysql_query("select * from publicaciones where cat_publi='TELEFONIA' and usu_publi='$user' order by RAND() limit 0,1",$conexion) or  die("Problemas en el select:".mysql_error());
  9. while($banp = mysql_fetch_array($resultp))
  10.  
  11. {
  12. echo "Publicacion de $user: ".$banp['titulo_publi']."<br>";
  13. $f=$banp['cod_publi'];
  14.  
  15. $foto="fotos/f".$f."_1.jpg";
  16. }
  17. ?>

Y se muetra asi, a modo de prueba, ya que despues se diseñara algo :)
Código HTML:
Ver original
  1. <tr>
  2.     <td width="30%" height="50px" class="t8"><a href="ver_publi_var.php?codigo=<?php echo $f; ?>">
  3.     <div class="foto"><img src="<?php echo $foto;?>" width="100px" height="100px"></div></a></td>
  4.     <td width="30%" height="50px" class="t8"></td>
  5.     <td width="30%" height="50px" class="t8"></td>
  6.     <td width="30%" height="50px" class="t8"></td>
  7.  
  8.  </tr>

Se puede ver el ejemplo en este momento en
http://190.192.40.226/new_user/index.php
__________________
Mail: [email protected]
  #2 (permalink)  
Antiguo 22/04/2013, 17:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta Aleatoria -by rand()-

¿Y el problema es?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/04/2013, 17:34
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Consulta Aleatoria -by rand()-

Perdon olvide detallar al problema jejee!!!

El problema es que a veces la consulta no muestra ningun resultado.

Saludos.
__________________
Mail: [email protected]
  #4 (permalink)  
Antiguo 22/04/2013, 17:41
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Consulta Aleatoria -by rand()-

Es posible que ese usuario que salio elegido no tenga publicaciones en esa categoria ??

Saludos
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 22/04/2013, 17:50
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Consulta Aleatoria -by rand()-

Cita:
Iniciado por Marvin Ver Mensaje
Es posible que ese usuario que salio elegido no tenga publicaciones en esa categoria ??

Saludos
Es posibleeeeeeeeee !!!

Por dios que salame jajajaja !!!!

Ahora bien , tengo que cambiar la consulta, cuando lo resuelva les aviso.

Gracias, disculpen la molestia !!!

Saludos.
__________________
Mail: [email protected]
  #6 (permalink)  
Antiguo 23/04/2013, 08:54
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Consulta Aleatoria -by rand()-

Bueno al final lo solucione de otro modo.
Le puse otra columna a la tabla de publicaciones que se llama destacado, y tiene S o N.
Y desde la parte del admin, cada vez que edito algun usuario a destacado le hace un update a todas las publicaciones de ese usuario y le pone una S a destacado.
De esa manera cuando consulto busco las publicaciones que en destacado tienen S y listo. !!!

Gracias !!!

Saludos, Ricardo.
__________________
Mail: [email protected]
  #7 (permalink)  
Antiguo 23/04/2013, 17:20
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Consulta Aleatoria -by rand()-

Cambie de opinion, ya que era muy revoltoso el tema que habia que hacer update cada vez que se hiciera alguna publicacion, para ponerle el estado del usuario que si era destacado o no.

Entonces pude reemplezar las consultas que tenia por esta, ya que no me da como resultado algo vacio (como por ej un usuario que no tenga publicaciones.)


Código PHP:
Ver original
  1. SELECT
  2. publi.titulo_publi,
  3. publi.precio_publi,
  4. publi.cat_publi,
  5. publi.cod_publi,
  6. publi.usu_publi FROM publicaciones as publi
  7. INNER JOIN usuarios AS usu ON publi.usu_publi=usu.login where usu.tipo!=0 AND cat_publi='AUTOMOTORES' order by rand() limit 0,1 ", $conexion);

Saludos.
__________________
Mail: [email protected]

Etiquetas: aleatoria, mysql, select, sql, usuarios
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 18:44.