PHP - Campo en base de datos vacio Imagen rota que no quiero mostrar Php Mysql sale rota

   
Vista:

Campo en base de datos vacio Imagen rota que no quiero mostrar Php Mysql sale rota

Publicado por Agustin (2 intervenciones) el 16/12/2015 10:11:29
Tengo un problema con un codigo quiero mostrar solo unas noticias que tienen foto pero en la base de datos tengo noticias que no precisan foto. Pero a la hora de hacer la consulta en el while me muestra todas las noticias con sus imagenes y claro ahi alguna sin foto y la muestra rota y necesito que las noticias que no llevan imagenes no muestren nada. que puedo hacer incluir algun if o no se como compruebo ese campo que no este vacio y no muestre nada de el si es asi.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function listNoticias($min,$max)
{
	$sql= " select * from tbl_noticias where activa='S' AND web='S' order by fecha desc limit " . $min . "," . $max . ";";
		$res = $this->conexion->query($sql);
		if(!$res){ echo "<meta http-equiv='refresh' content='0; url=mensaje.php?mensaje=4'>" ;}
			while($fila = $res->fetch_array())
			{
?>
                    <div class="noticia">
                    	 <a href="noticia.php?noticia=<?php echo $fila['id_noticia'] ?>"><img src="images/articulos/

                            <?php
					/*campo donde tengo las imagenes  y quiero que si no hay imagen que no muestre                nada detro de este while $fila['logo'] es donde esta cargando las imagenes de mi base de datos */

                            echo $fila['logo']
	
						  ?>" width="241" height="152" /></a>
                    	<div class="infonews">
                        	<span class="fecha-news"><?php echo $fila['fecha'] ?></span>
                            <br>
                            <span class="tittle-news"><?php echo utf8_encode($fila['nombre']) ?></span>
                            <P><?php // echo substr($fila['texto'],0,100)."..." ?>
                            <br />
                            <br />
                             <a href="noticia/<?php echo $fila['id_noticia'] ?>/<?php echo $this->urls_amigables($fila['nombre']) ?>"><span class="vermas-news">[+]ver m&aacute;s</span></a>
                            </P>
                        <!-- end info news-->
                        </div>
                        <div style="clear:both;"></div>
					<img src="images/line_deg.png" style="margin-top:15px;" width="100%">
                    </div>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Campo en base de datos vacio Imagen rota que no quiero mostrar Php Mysql sale rota

Publicado por Alejandro (198 intervenciones) el 17/12/2015 01:38:14
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
seria con file_exists

1
2
3
4
5
6
if(file_exists("images/articulos/$fila[logo]")){
   echo "<img src='images/articulos/$fila[logo]' width='241' height='152' />";
}else{
   //Si no tiene imagen poner una imagen genérica
   echo "<img src='images/articulos/generica.jpg' width='241' height='152' />";
}

o con el operador ternario jejeje desde que lo supe para todo lo quiero usar :P

1
2
3
$src ="images/articulos/";
$src .= file_exists($src.$fila[logo])?$fila[logo]:"generica.jpg";
echo "<img src='$src' width='241' height='152' />";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

Campo en base de datos vacio Imagen rota que no quiero mostrar Php Mysql sale rota

Publicado por Alejandro (198 intervenciones) el 17/12/2015 02:08:04
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Se me pasaba, en el ejemplo anterior si $fila[logo] esta vacío y el directorio existe siempre va a dar la primer opción falta agregar el is_dir()
y es para comprobar que el archivo existe
1
2
$src= "images/articulos/$fila[logo]";
if(file_exists($src) and !is_dir($src)){...

para validar que el campo logo no este vacio seria
1
if($fila[logo]!="")

ya con eso puedes armarte tu código, validas el contenido del campo y luego la existencia del archivo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Campo en base de datos vacio Imagen rota que no quiero mostrar Php Mysql sale rota

Publicado por Agustin (2 intervenciones) el 17/12/2015 12:08:37
Oleeeee tio mil gracias, aunque ya lo resolvi con strlen recorriendo la cadena si es vacia o no que tampoco se me habia ocurrio, jejej muchisimas gracias esa perpectiva tambien es la bomba mil gracias!!!!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar