эхо-изображение в соответствии с условием

У меня есть тег HTML здесь:

<span class="fa-stack fa-5x has-badge" >
<div class="badgesize">
<img src="badgeImages/1.png"  alt=""   >
</div>
</span> -->

Запрос, используемый для получения информации и сохранения ее в переменной:

$q4 = "SELECT TOP 3 b.BadgeName, b.BadgeImage FROM BadgeImageTable AS b
INNER JOIN employee_badge AS e
ON e.badge_id = b.BadgeID
WHERE e.employee_id = 2164
ORDER BY e.earned_on DESC ";
$stmt3=sqlsrv_query($conn,$q4);
if($stmt3==false)
{
echo 'error to retrieve info !! <br/>';
die(print_r(sqlsrv_errors(),TRUE));
}

В теге изображения я пытаюсь отобразить изображение значка с некоторым условием.

<span class="fa-stack fa-5x has-badge" >

<div class="badgesize">

<img src="
<?php

if($count = sqlsrv_num_rows($stmt3) > 0){
while($recentBadge = sqlsrv_fetch_array($stmt3)){
$result[] = $recentBadge;
}

if($count > 3){
$result = array_rand($result, 3);
}

foreach($result as $recentBadge){
echo
$recentBadge['BadgeName'],
'<img src="'.$recentBadge['BadgeImage'].'">',
'<br>'
;
}
} else {
echo 'no results';
}

?>

"  alt=""  >

</div>

</span>

Условие вышеупомянутого PHP:

Я хочу вывести на экран любые три случайных изображения, если число больше 3, в противном случае выведите на экран все, что в результате выдает «$ RecentBadge».

Проблема:
Я не могу повторить в соответствии с вышеуказанным условием.

Всякий раз, когда я пытаюсь отобразить простое изображение без каких-либо условий (используя ниже PHP), я могу сделать это без каких-либо проблем. Итак, я могу получить изображение из БД, проблема заключается в условном PHP.

    <img src="<?php echo "".($badgerecent['BadgeImage']).""; ?>" >

-2

Решение

Вывод из вашего кода ставил <img> теги внутри атрибута src тега.
Это по определению не работает в HTML. Если все остальное было правильно, это должно работать:

<?php

function get_random_elements( $array,$limit = 0 ) {

shuffle($array);

if ( $limit > 0 ) {
$array = array_splice($array, 0, $limit);
}
return $array;
}

function render_images() {
global $stmt3;
$output = '';

if ($count = sqlsrv_num_rows($stmt3) > 0) {
while ($recentBadge = sqlsrv_fetch_array($stmt3)) {
$result[] = $recentBadge;
}

if ($count > 3) {
$result = get_random_elements(result, 3);
}

foreach ($result as $recentBadge) {
$output .= $recentBadge['BadgeName'];
$output .= '<img src="' . $recentBadge['BadgeImage'] . '" alt="">';
$output .= '<br>';
}
} else {
$output = 'no results';
}

return $output;
}
?>

<span class="fa-stack fa-5x has-badge" >

<div class="badgesize">

<?php echo render_images(); ?>

</div>

</span>

Как подсказка: пожалуйста, старайтесь держать ваш код отделенным, логика отделена от представления.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]