Foros del Web » Programando para Internet » PHP »

Como mosrtar los votados y no votados?

Estas en el tema de Como mosrtar los votados y no votados? en el foro de PHP en Foros del Web. Mi problema es que no se como mostrar los votados y los no votados, pongo según para mostrar los que no tienen votos, y me ...
  #1 (permalink)  
Antiguo 19/11/2011, 01:10
 
Fecha de Ingreso: abril-2011
Ubicación: Los Mochis, Sinaloa, Mexico
Mensajes: 25
Antigüedad: 13 años
Puntos: 1
Como mosrtar los votados y no votados?

Mi problema es que no se como mostrar los votados y los no votados, pongo según para mostrar los que no tienen votos, y me salen de nuevo los votados.
El codigo es el siguiente
Código PHP:
<?php

           $query 
mysql_query("SELECT id, COUNT(id) 'votos' FROM votos GROUP BY id ORDER BY COUNT(id) DESC LIMIT 10"); 
   while(
$a=mysql_fetch_array($query))
   {
     
$que1 mysql_query("SELECT * FROM hoteles WHERE id=".$a['id']." ORDER BY id");
       
$a1=mysql_fetch_array($que1);
         echo 
'      <center><font class="Textos"><img src="http://misitio.com.mx/images/hotel.gif"><b><a href="http://'.$a1['url'].'/">'.$a1['nombre'].'</a></b> - '.$a1['descripcion'].'<br>
       <script type="text/javascript" src="http://sitio.com/estado.php?host='
.$a1['ip'].'&port='.$a1['puerto'].'"></script> | '.$a1['tipo'].' | Votos: '.$a['votos'].'</font><br><br>  ';}
           }

             
$que11 mysql_query("SELECT * FROM hoteles WHERE id ORDER BY id DESC LIMIT 10");
           while(
$a1=mysql_fetch_array($que11)) {
              echo 
'      <center><font class="Textos"><img src="http://misitio.com.mx/images/hotel.gif"><b><a href="http://'.$a1['url'].'/">'.$a1['nombre'].'</a></b> - '.$a1['descripcion'].'<br>
       <script type="text/javascript" src="http://sitio.com/estado.php?host='
.$a1['ip'].'&port='.$a1['puerto'].'"></script> | '.$a1['tipo'].' | Votos: '.$a['votos'].'</font><br><br>  '; }
           
?>
Me podrian ayudar? ahh y tambien solo quiero mosrtar 10 por pagina, que debo hacer?
  #2 (permalink)  
Antiguo 19/11/2011, 01:49
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: Como mosrtar los votados y no votados?

Si es para votar hoteles, puedes agregar el campo votos a la tabla hoteles y le vas sumando uno cada vez que alguien lo vota, entonces luego para mostrar los votados poner WHERE votos >= 1 y para mostrar los no votados pones WHERE votos=0 , no tiene sentido crear una tabla votos a no ser que quieras evitar que un usuario vote varias veces un mismo hotel
Código PHP:
Ver original
  1. //ejemplo para mostrar los votados, muestra todos los
  2. // que tengan mas de uno en el campo votos o sea que
  3. // no muestra los que tienen 0 (cero=ningun voto)
  4. $sentencia="SELECT * FROM hoteles WHERE votos>=1 ORDER by id LIMIT 10";  
  5. $result=mysql_query($sentencia);  
  6.  while($hotel = mysql_fetch_object($result)){
  7. $nombre=$hotel->nombre;
  8. $votos=$hotel->votos;
  9. echo"Nombre: $nombre  Votos: $votos";
  10. }
espero que te sea util, saludos.

Última edición por waldragon; 19/11/2011 a las 01:50 Razón: revision ortografica
  #3 (permalink)  
Antiguo 19/11/2011, 01:55
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: Como mosrtar los votados y no votados?

Cita:
Iniciado por waldragon Ver Mensaje
Si es para votar hoteles, puedes agregar el campo votos a la tabla hoteles y le vas sumando uno cada vez que alguien lo vota, entonces luego para mostrar los votados poner WHERE votos >= 1 y para mostrar los no votados pones WHERE votos=0 , no tiene sentido crear una tabla votos a no ser que quieras evitar que un usuario vote varias veces un mismo hotel
Código PHP:
Ver original
  1. //ejemplo para mostrar los votados, muestra todos los
  2. // que tengan mas de uno en el campo votos o sea que
  3. // no muestra los que tienen 0 (cero=ningun voto)
  4. $sentencia="SELECT * FROM hoteles WHERE votos>=1 ORDER by id LIMIT 10";  
  5. $result=mysql_query($sentencia);  
  6.  while($hotel = mysql_fetch_object($result)){
  7. $nombre=$hotel->nombre;
  8. $votos=$hotel->votos;
  9. echo"Nombre: $nombre  Votos: $votos";
  10. }
espero que te sea util, saludos.
No creo que sea asi, porque si revisas los votos los tiene guardados en otra tabla llamada votos que es la primera consulta en la cual supongo nomas estan los id de los hoteles con votos y los que no tengan votos no estan ahi.

Tabla votos
id <- Este es el id del hotel y no es llave primaria ni nada porque puede ser repetida

algo asi me imagino que es la tabla votos a como veo que hace la consulta.

----------------------------------------

No estoy seguro si funcionara pero intenta con esta sentencia

SELECT * FROM hoteles inner join votos on hoteles.id!=votos.id ORDER BY hoteles.id DESC LIMIT 10

Y con eso deveria devolverte los hoteles que no tienen votos

Última edición por s00rk; 19/11/2011 a las 02:00
  #4 (permalink)  
Antiguo 19/11/2011, 02:02
 
Fecha de Ingreso: abril-2011
Ubicación: Los Mochis, Sinaloa, Mexico
Mensajes: 25
Antigüedad: 13 años
Puntos: 1
Respuesta: Como mosrtar los votados y no votados?

Cita:
Iniciado por waldragon Ver Mensaje
Si es para votar hoteles, puedes agregar el campo votos a la tabla hoteles y le vas sumando uno cada vez que alguien lo vota, entonces luego para mostrar los votados poner WHERE votos >= 1 y para mostrar los no votados pones WHERE votos=0 , no tiene sentido crear una tabla votos a no ser que quieras evitar que un usuario vote varias veces un mismo hotel
Código PHP:
Ver original
  1. //ejemplo para mostrar los votados, muestra todos los
  2. // que tengan mas de uno en el campo votos o sea que
  3. // no muestra los que tienen 0 (cero=ningun voto)
  4. $sentencia="SELECT * FROM hoteles WHERE votos>=1 ORDER by id LIMIT 10";  
  5. $result=mysql_query($sentencia);  
  6.  while($hotel = mysql_fetch_object($result)){
  7. $nombre=$hotel->nombre;
  8. $votos=$hotel->votos;
  9. echo"Nombre: $nombre  Votos: $votos";
  10. }
espero que te sea util, saludos.
Creo que me serviria pero ahora el problema seria que al momento de que el usuario o un guest user, vota se almacena su ip para que ya no pueda votar, como podria solucinar esto ?D:
  #5 (permalink)  
Antiguo 19/11/2011, 02:04
 
Fecha de Ingreso: abril-2011
Ubicación: Los Mochis, Sinaloa, Mexico
Mensajes: 25
Antigüedad: 13 años
Puntos: 1
Respuesta: Como mosrtar los votados y no votados?

Cita:
Iniciado por s00rk Ver Mensaje
No creo que sea asi, porque si revisas los votos los tiene guardados en otra tabla llamada votos que es la primera consulta en la cual supongo nomas estan los id de los hoteles con votos y los que no tengan votos no estan ahi.

Tabla votos
id <- Este es el id del hotel y no es llave primaria ni nada porque puede ser repetida

algo asi me imagino que es la tabla votos a como veo que hace la consulta.

----------------------------------------

No estoy seguro si funcionara pero intenta con esta sentencia

SELECT * FROM hoteles inner join votos on hoteles.id!=votos.id ORDER BY hoteles.id DESC LIMIT 10

Y con eso deveria devolverte los hoteles que no tienen votos
Funciona pero al momento de hacer el while, me muestra tres veces el mismo hotel :O
Gracias por responder:)
  #6 (permalink)  
Antiguo 19/11/2011, 13:13
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: Como mosrtar los votados y no votados?

Agregale entonces el Group by y ya quedaria

SELECT * FROM hoteles inner join votos on hoteles.id!=votos.id GROUP BY hoteles.id ORDER BY hoteles.id DESC LIMIT 10
  #7 (permalink)  
Antiguo 20/11/2011, 17:12
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: Como mosrtar los votados y no votados?

Cita:
Iniciado por iScapeKiller Ver Mensaje
Creo que me serviria pero ahora el problema seria que al momento de que el usuario o un guest user, vota se almacena su ip para que ya no pueda votar, como podria solucinar esto ?D:
Para eso tienes que crear una tabla votos como creaste, pero no para guardar los votos, sino, para guardar el id del hotel que voto, el id del user y la ip en caso de que sea guest user entonces con eso usas un IF para mostrar o esconder el boton VOTAR

Etiquetas: mysql, votados
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 21:03.