No funciona condición dentro de etiqueta <img src = "">
Publicado por Albert J. (9 intervenciones) el 28/04/2020 01:57:08
Hola Buenas tardes comunidad.
Iré al grano.
Estoy comenzando una tienda online, necesito mostrar el catálogo de una sección de productos. Unos productos tienen imagen y otros no, los que no tiene imagen son rellenados por una imagen por default
Las tablas que utilizo para este ejercicio son las sig:

el codigo es el sig:

En concreto, la duda que tengo es en estas lineas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div class="main">
<?php while($fila1 = mysqli_fetch_array($registros1)) { ?>
<div class="productosmain hvr-buzz-out">
<?php $registros2 = mysqli_query($link,"select nombre from imagenes where id_producto = '$fila1[id_producto]' and prioridad = 1");
while ($fila2 = mysqli_fetch_array($registros2)){
if(mysqli_num_rows($registros2)>0){?>
<img src="admin/productos/imagenes/<?php echo $fila2['nombre'];} else {echo "sinimagen.jpg";}?>" width="100%" alt="portatil1">
<?php } ?>
<div class="precio">$<?php echo $fila1['precio']; ?> Pesos.</div>
</div> <!-- el ancho al 100% de la imagen se adapta al 100% del div "productosmain"-->
<?php
}
cerrarconexion();
?>
<div class="limpiar"></div>
</div>
Entiendo que el primer while creara un div por cada producto que exista en la tabla productos.
Y, que el segundo while solo insertará 9 imagenes (son las que si cumplen todas las condiciones.)
LA DUDA ES, ¿porqué no funciona el else dentro de la etiqueta <img src = "">?
La consulta de la linea 4 genera esta tabla:

Guardo ese array en la variable $fila2 y hago la siguiente condición, (si $registro2 contiene filas, inserta la imagen ubicada en la sig dirección. Sino imprime "sinimagen.jpg"):
src="admin/productos/imagenes/nombreimagen.jpg (si tiene imagen)
src="admin/productos/imagenes/sinimagen.jpg (sino tiene iimagen)
El problema PRINCIPAL es que esa condición no me imprime la imagen "sinimagen.jpg."
El resultado se ve asi:

De antemano, muchas gracias.
Valora esta pregunta


0