I’m trying to fetch an image, and if on-error, get the default image based on the gender value.
pls advice How can I fetch an on-error default image on base of gender value ?
echo"
<img src=".'imagefolder/'.$_row['img']."
<?php if (".$_row['gender']." != 'Male'):?>
onerror = this.src='female-default.jpg'
<?php else: ?>
onerror = this.src='male-default.jpg'
<?php endif; ?>
>";
>Solution :
Your quotes mean that none of the PHP inside is being evaluated, and you can’t use if/else blocks inside an echo anyway. You can break it apart
echo "<img src='imagefolder/'" . $_row['img'] . "' ";
if ( $_row['gender'] != 'Male'):
echo "onerror = this.src='female-default.jpg'";
else:
echo "onerror = this.src='male-default.jpg'";
endif;
echo ">";
or you can use a ternary
echo "<img src='imagefolder/{$_row['img']}'" . ($_row['gender'] != 'Male' ? " onerror = this.src='female-default.jpg'" : " onerror = this.src='male-default.jpg'") . ">";