Para asegurarte de que el código funcione correctamente y muestre al menos una foto, es importante tener claras las condiciones bajo las cuales se muestra cada foto. Puede que exista un problema en la lógica que hace que no se muestre la foto si solo hay una.
Vamos a revisar el código y ajustar las condiciones para que siempre muestre al menos una foto, incluso si solo hay una disponible.
### Código Ajustado
Aquí tienes un código revisado que garantiza que se muestre al menos una foto:
PHP:
if (!empty($fila['photo'])) {
// Función para mostrar media
function getMediaHtml($src, $id) {
if (strpos($src, '.mp4') !== false) {
return '<iframe id="sr'.$id.'" style="margin-left:10px;width:calc(100% - 20px);height:250px;" frameborder="0" scrolling="no" allowfullscreen src="../iframe.php?view='.$id.'"></iframe>';
}
return '<img loading="lazy" src="'.$src.'" class="tenph01 cora" />';
}
// Mostrar la primera media (foto o video)
echo getMediaHtml($fila['photo'], $fila['id']);
// Mostrar la segunda media si existe
if (!empty($fila['photo2'])) {
echo getMediaHtml($fila['photo2'], $fila['id']);
}
// Mostrar la tercera media si existe
if (!empty($fila['photo3'])) {
echo getMediaHtml($fila['photo3'], $fila['id']);
}
} elseif (!empty($fila['photo2'])) {
// Si solo hay una segunda foto
echo getMediaHtml($fila['photo2'], $fila['id']);
} elseif (!empty($fila['photo3'])) {
// Si solo hay una tercera foto
echo getMediaHtml($fila['photo3'], $fila['id']);
} else {
// Si ninguna foto está disponible, se puede mostrar un mensaje alternativo
echo '<p>No hay fotos disponibles.</p>';
}
### Cambios y Explicación:
1.
Verificación de Fotos: La primera verificación es si
$fila['photo'] no está vacía. Si hay una foto, se muestra.
2.
Condiciones Ajustadas: Se añaden condiciones específicas para mostrar
photo2 y
photo3 por separado si solo estas están disponibles.
3.
Mensaje Alternativo: Si no hay ninguna foto, se muestra un mensaje alternativo indicando que no hay fotos disponibles.
Con este ajuste, deberías poder mostrar al menos una foto sin problemas. Si la foto no se muestra, revisa que
$fila['photo'],
$fila['photo2'], y
$fila['photo3'] contengan valores válidos. Si necesitas más ayuda, no dudes en decírmelo.