Foros del Web » Programando para Internet » PHP »

Mostrar iconos según consulta en la BD

Estas en el tema de Mostrar iconos según consulta en la BD en el foro de PHP en Foros del Web. Hola a todos. Estoy tratando de mostrar unos iconos si en la base de datos dice que si. Me explico: Cargo en la bd las ...
  #1 (permalink)  
Antiguo 11/06/2012, 18:43
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Mostrar iconos según consulta en la BD

Hola a todos. Estoy tratando de mostrar unos iconos si en la base de datos dice que si.

Me explico: Cargo en la bd las comodidas de un hotel Si tiene piscina le digo si y si no tiene le digo no y asi con varias opciones como restaurant, wifi, estacionamiento, etc.

Cuando debo mostrar las caracteristicas del hotel me tiene que traer todos los que tengan si y asociarlos con su icono. El problema es que de la forma como lo hice me deja en blanco los que tienen no.

aqui se muestra como me quedó:

http://vamonosdevacaciones.com.ve/po...p?codigo=P0008

Yo se que como lo hice esta mal, fue asi:

Código PHP:
Ver original
  1. $rs3 = mysql_query("SELECT * FROM comodidades WHERE id_hotel='$id_hotel'");
  2.  while($result = mysql_fetch_array($rs3))
  3.     {
  4.         $id_comodidades = $result['id_comodidades'];
  5.         $id_hotel = $result['id_hotel'];
  6.         $piscina = $result['piscina'];
  7.         $com_piscina = $result['com_piscina'];
  8.         $tv_cable = $result['tv_cable'];
  9.         $com_tv = $result['com_tv'];
  10.         $aire_ac = $result['aire_ac'];
  11.         $com_aire = $result['com_aire'];
  12.         $ag_caliente = $result['ag_caliente'];
  13.         $com_agua = $result['com_agua'];
  14.         $bano_priv = $result['bano_priv'];
  15.         $com_ban = $result['com_ban'];
  16.         $restaurant = $result['restaurant'];
  17.         $com_rest = $result['com_rest'];
  18.         $estacionamiento = $result['estacionamiento'];
  19.         $com_est = $result['com_est'];
  20.         $playa = $result['playa'];
  21.         $com_playa = $result['com_playa'];
  22.         $otras_com = $result['otras_com'];
  23.         $rest_recom = $result['rest_recom'];
  24.         $playas_recom = $result['playas_recom'];
  25.         $paseos_recom = $result['paseos_recom'];
  26.     }
  27.  
  28.         echo '<table>';
  29.  
  30.         echo '<tr class="odd">';
  31.        
  32.         echo '<td >';
  33.         if ($piscina == 'Si') {
  34.         echo '<img src="iconos/pisc.gif">';
  35.         echo ' ';
  36.         echo 'Piscina';
  37.         }
  38.         echo '</td>';
  39.  
  40.         echo '<td >';
  41.         if ($tv_cable == 'Si') {
  42.         echo '<img src="iconos/directv.gif">';
  43.         echo ' ';
  44.         echo 'TV Cable';
  45.         }
  46.         echo '</td>';
  47.        
  48.         echo '</tr>';
  49.  
  50.         echo '<tr class="odd">';
  51.  
  52.         echo '<td >';
  53.         if ($aire_ac == 'Si') {
  54.         echo '<img src="iconos/aire.gif">';
  55.         echo ' ';
  56.         echo 'Aire Acondic';
  57.         }
  58.         echo '</td>';
  59.        
  60.         echo '<td>';
  61.         if ($ag_caliente == 'Si') {
  62.         echo '<img src="iconos/sauna.gif">';
  63.         echo ' ';
  64.         echo 'Agua Caliente';
  65.         }
  66.         echo '</td>';
  67.         echo '</tr>';
  68.  
  69.         echo '<tr class="odd">';
  70.         echo '<td>';
  71.         if ($bano_priv == 'Si') {
  72.         echo '<img src="iconos/bano.gif">';
  73.         echo ' ';
  74.         echo 'Baño Privado';
  75.         }
  76.         echo '</td>';
  77.        
  78.         echo '<td>';
  79.         if ($restaurant == 'Si') {
  80.         echo '<img src="iconos/rest.gif">';
  81.         echo ' ';
  82.         echo 'Restaurant';
  83.         }
  84.         echo '</td>';
  85.         echo '</tr>';
  86.  
  87.         echo '<tr class="odd">';
  88.         echo '<td>';
  89.         if ($estacionamiento == 'Si') {
  90.         echo '<img src="iconos/estac.gif">';
  91.         echo ' ';
  92.         echo 'Estacionamiento';
  93.         }
  94.         echo '</td>';
  95.        
  96.         echo '<td>';
  97.         if ($playa == 'Si') {
  98.         echo '<img src="iconos/playa.gif">';
  99.         echo ' ';
  100.         echo 'Playa';
  101.         }
  102.         echo '</td>';
  103.         echo '</tr>';
  104.         echo '</table>';
  105.         ?>
  106.         </p>
  107.     </div>
  108. </div>

Mi pregunta es ¿cómo puedo hacer que se genere en dos columnas si el contenido del campo es si?

Gracias
__________________
Caminando con el corazón partío
  #2 (permalink)  
Antiguo 11/06/2012, 18:47
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Mostrar iconos según consulta en la BD

ok amigo...

despues de cada

if ($restaurant == 'Si') {
echo '<img src="iconos/rest.gif">';
echo ' ';
echo 'Restaurant';
}


tienes que agregar un else

por ejemplo

if ($restaurant == 'Si') {
echo '<img src="iconos/rest.gif">';
echo ' ';
echo 'Restaurant';
}else{
echo '
<img src="iconos/notiene.gif">';
echo ' ';
echo 'Restaurant';
}
  #3 (permalink)  
Antiguo 11/06/2012, 18:55
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Mostrar iconos según consulta en la BD

No, pero asi no me sirve porque si la opcion es no, no se debe mostrar nada y debe mostrar el siguiente para que quede armónico.

Es decir, evalua los si y los muestra en sus dos columnas, sigue evaluando y muestra en la otra fila las dos columnas y asi hasta que termine.

Como en este ejemplo:

http://www.venezuelatuya.com/hoteles...UxZ&cid=hPKCNW
__________________
Caminando con el corazón partío
  #4 (permalink)  
Antiguo 11/06/2012, 19:04
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Mostrar iconos según consulta en la BD

Pues entonces solo haz una consulta a la base de datos, que solo te muestre lo que tienen... osea

que te muestre solos lo que en el campo diga SI
  #5 (permalink)  
Antiguo 11/06/2012, 19:08
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar iconos según consulta en la BD

Tenes que correr el IF antes de <td>, Saludos
  #6 (permalink)  
Antiguo 11/06/2012, 19:11
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Mostrar iconos según consulta en la BD

Tambien, como dice marco...
el if antes del td
y asi solo te mostrara si dice si, sino no...
  #7 (permalink)  
Antiguo 11/06/2012, 19:15
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Mostrar iconos según consulta en la BD

ok, pero como los muestro para que se vean en dos columnas en la tabla?
__________________
Caminando con el corazón partío
  #8 (permalink)  
Antiguo 11/06/2012, 19:17
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar iconos según consulta en la BD

Te doy un consejo no utilices variables de mas como las que tenes dentro del while y tampoco utilices un while o cualquier otro bucle si no es necesario. Lo podes hacer todo de forma directa, también me gustaría que busques en google MYSQLi, que son las nuevas funciones para conectar a MYSQL. Saludos
  #9 (permalink)  
Antiguo 11/06/2012, 19:29
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Mostrar iconos según consulta en la BD

Muchas gracias a los dos. Me sirvió lo del if antes del td. Gracias por los consejos, los pondré en practica y también estudiaré lo del MYSQLi.
__________________
Caminando con el corazón partío

Etiquetas: bd, iconos, mysql, según
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 14:20.