我在这里有一个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']).""; ?>" >
答案 0 :(得分:0)
代码的输出是将<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>
作为提示:请尽量保持代码分离,逻辑与视图分开。