Foros del Web » Programando para Internet » PHP »

Problema con if(!empty($variable))

Estas en el tema de Problema con if(!empty($variable)) en el foro de PHP en Foros del Web. Bueno, tengo el siguiente código: Código PHP: < li >                             < strong > Idiomas :</ strong >< br  />                               < div  class= "sangria\">" ;                              ...
  #1 (permalink)  
Antiguo 22/04/2008, 08:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Problema con if(!empty($variable))

Bueno, tengo el siguiente código:
Código PHP:
<li>
                            <
strong>Idiomas:</strong><br />
                              <
div class="sangria\">";
                            
                            
                            
$consulta_idiomas mysql_query("SELECT 
                                                     establecimientos.id, 
                                               idiomas.idioma, 
                                               idiomas.pais, 
                                               establecimientos2idiomas.id_est 
                                               
                                               FROM 
                                                   establecimientos 
                                               
                                               LEFT JOIN establecimientos2idiomas ON establecimientos.id = establecimientos2idiomas.id_est 
                                               LEFT JOIN idiomas ON establecimientos2idiomas.id_idioma = idiomas.id 
                                               
                                               WHERE 
                                                   establecimientos.id = '$id'"
,$connect);
    
                              while(
$idiomas mysql_fetch_assoc($consulta_idiomas))

                                      {
                                echo    
"<img src=\"imagenes/banderas/".$idiomas['pais'].".png\" alt=\"".$idiomas['idioma']."\" title=\"".$idiomas['idioma']."\" /> ".$idiomas['idioma']."<br />";
                                }
                                
                                
mysql_free_result($consulta_idiomas);
                            
                            
                           echo 
"</div>
                          </li> 
Y lo que yo quiero hacer es que el <li> directamente no aparezca si no hay ningún idioma ingresado en la base...
El problema es que ya logré insertar un if(!empty($idioma)), pero si meto todo el <li> adentro del echo, me repite tantas veces el <li> como idiomas haya (cada registro puede tener varios idiomas).

La pregunta es, dónde meto el <li> y el <div> dentro del if(!empty), para que si está vacía la variable idiomas no aparezcan, pero que si tienen contenido, me muestre solo un <li> y un <div>, y que el while afecte solo a los idiomas.


Gracias!!!
  #2 (permalink)  
Antiguo 22/04/2008, 09:05
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Problema con if(!empty($variable))

Código PHP:
<?php
 $consulta_idiomas 
mysql_query("SELECT  establecimientos.id, idiomas.idioma,idiomas.pais,establecimientos2idiomas.id_estFROM 
                                   establecimientos                                                
                                               LEFT JOIN establecimientos2idiomas ON establecimientos.id = establecimientos2idiomas.id_est 
                                               LEFT JOIN idiomas ON establecimientos2idiomas.id_idioma = idiomas.id 
                                               WHERE establecimientos.id = '$id'"
,$connect);
    
                              if(
$idiomas mysql_fetch_array($consulta_idiomas)){
                                echo 
'<li><div>';    
                                do{
                                  echo    
"<img src=\"imagenes/banderas/".$idiomas['pais'].".png\" alt=\"".$idiomas['idioma']."\" title=\"".$idiomas['idioma']."\" /> ".$idiomas['idioma']."<br />";
                                }while(
$idiomas mysql_fetch_array($consulta_idiomas));
                                echo 
'</div></li>';
                                }
                                
mysql_free_result($consulta_idiomas);
                
?>
yo lo haria así, usando primero un if (para saber si existe algo) y luego un do while, para insertar los datos :)
  #3 (permalink)  
Antiguo 30/04/2008, 16:22
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Problema con if(!empty($variable))

Gracias por tu respuesta...
Pero el "Idiomas:" sigue apareciendo, aunque el establecimiento no posea ninguno...

:S
  #4 (permalink)  
Antiguo 30/04/2008, 16:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Problema con if(!empty($variable))

Ahí lo corregí, quedó así:
Código PHP:
$consulta_idiomas mysql_query("SELECT establecimientos.id, idiomas.idioma, idiomas.pais, establecimientos2idiomas.id_est 
                             FROM establecimientos 
                                 LEFT JOIN establecimientos2idiomas ON establecimientos.id = establecimientos2idiomas.id_est 
                                 LEFT JOIN idiomas ON establecimientos2idiomas.id_idioma = idiomas.id 
                                 WHERE establecimientos.id = '$id'"
,$connect);
                
                
$idiomas mysql_fetch_array($consulta_idiomas);
                
                
$ididioma $idiomas['id_est'];
                
    
                              if(!empty(
$ididioma)){
                                echo 
"<li><strong>Idiomas:</strong><br /><div class=\"sangria\">";    
                                do{
                                  echo    
"<img src=\"imagenes/banderas/".$idiomas['pais'].".png\" alt=\"".$idiomas['idioma']."\" title=\"".$idiomas['idioma']."\" /> ".$idiomas['idioma']."<br />";
                                }while(
$idiomas mysql_fetch_array($consulta_idiomas));
                                echo 
"</div></li>";
                                }
                                
mysql_free_result($consulta_idiomas); 
Saludos!
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 23:13.