如果在回声中声明?

时间:2014-02-16 01:44:10

标签: php mysql if-statement echo

我想知道是否有可能在回声中有一个if语句。

我有if语句在通过while循环回显结果时工作正常......这是语句:

<div><?php if ($row['image'] == '') {}
else {echo "<img src='data:image/jpeg;base64,".base64_encode($row['image'])."'>";} ?>
<?php if ($row['video'] == '') {}
else {echo "<iframe src={$row['video']}></iframe>";} ?></div>`

所以基本上它是一个视频或一个图像,它工作正常但后来我实现了一个无限滚动到我的博客,它回应数据库中的数据和if语句如下:

if ($results) { 

while($obj = $results->fetch_object())
{
echo '

<div><h3>'.$obj->headline.'</h3> </div>

<div><img src='data:image/jpeg;base64,".base64_encode('.$obj->image.')."'></div>'

所以我想知道是否有人知道是否可以在此回声中传输if语句,以便它首先显示图像,然后知道是否存在一个或数据库中是否存在视频。

提前感谢您的帮助。

PS:我是编码/ php的新手!

2 个答案:

答案 0 :(得分:0)

当然。只需将echo拆分为多个语句:

while($row = $results->fetch_object()) {
    echo '<div>';
    if ($row['image'] == '') {
    } else {
        echo "<img src='data:image/jpeg;base64,".base64_encode($row['image'])."'>";
    }
    if ($row['video'] == '') {
    } else {
        echo "<iframe src={$row['video']}></iframe>";
    }
    echo '</div>';
}

答案 1 :(得分:0)

试试这个。

//first initialize a variable as a string 
$result="";
while($obj = $results->fetch_object()) {
$result.="<div>";
if (!empty($obj['image'])){    
   $result.="<img src='data:image/jpeg;base64,".base64_encode($obj['image'])."'>";
}
elseif (!empty($obj['video'])){
   $result.="<iframe src={$obj['video']}></iframe>";
}else{
     //show some notification or leave it
     //echo 'not Found';
}
$result.="</div>";
}
//finally you need to print the result variable.
echo $result;