【发布时间】:2018-02-05 21:15:59
【问题描述】:
我正在构建一个 Bootstrap 轮播库来显示帖子图片。我大部分时间都在工作,但是我的 PHP 在 .item div 中重复图像时遇到了问题。检查查看源 HTML 后,我发现了问题所在,并且我知道如何解决它,但我无法执行它。
我的问题是使用另一个需要嵌套在我的主 echo 语句中的 echo 语句。
我一直在这里和其他一些网站上寻找其他回声语句中的回声,但我似乎无法正确执行它。我对 PHP 还是比较陌生,当我试图让事情正常工作时,我可能会错过一系列的 '' 和/或 "" 。如果有人能帮我解决这个问题,我将不胜感激。
我需要做的是编写这段代码:
<div class="<?php echo $i == 0 ? 'item active':'item'; ?>" align="center">
<img src='admin/images/".$imrow->img_name."' width='auto' height='auto'/>
</div>
存在于下面代码中的echo "..." 中,因此所有图像都可以相互独立地存在。
<?php
$imsql = "SELECT img_name, img_path FROM images WHERE post_id = '$id'";
$q2 = $db->query($imsql);
if($q2->num_rows>0){
while ($imrow = $q2->fetch_object()){
echo "<img src='admin/images/".$imrow->img_name."' width='auto' height='auto'/>";
}
}
?>
编辑以供将来参考
这是我在 carousel-inner div 工作之前的代码:
<div class="carousel-inner">
<?php
$i = 0;
for ($a = 2; $a < count($files); $a++):
?>
<div class="<?php echo $i == 0 ? 'item active':'item'; ?>" align="center">
<?php
$imsql = "SELECT img_name, img_path FROM images WHERE post_id = '$id'";
$q2 = $db->query($imsql);
if($q2->num_rows>0){
while ($imrow = $q2->fetch_object()){
echo '<img src="admin/images/' . $imrow->img_name . '" width="auto" height="auto"/>';
echo '</div>';
}
}
?>
</div>
<?php
$i++;
endfor;
?>
</div>
这是完成我需要的版本:
<div class="carousel-inner">
<?php
$i = 0;
for ($a = 2; $a < count($files); $a++):
?>
<?php
$imsql = "SELECT img_name, img_path FROM images WHERE post_id = '$id'";
$q2 = $db->query($imsql);
if($q2->num_rows>0){
while ($imrow = $q2->fetch_object()){
echo '<div class="' . ($i == 0 ? 'item active' : 'item') . '" align="center">';
echo '<img src="admin/images/' . $imrow->img_name . '" width="auto" height="auto"/>';
echo '</div>';
}
}
?>
<?php
$i++;
endfor;
?>
</div>
【问题讨论】:
-
我真的不太明白你的意思。您的示例不清楚 - 看起来
img标签已经在您的div中,而不是相反。也许您需要做的是将 HTML 字符串作为变量,在一系列语句中逐渐建立,而不是在生成时立即回显所有内容?然后,您可以更好地控制输出,并且可以对其进行更多更改。回声中的回声毫无意义。 echo 将完成的输出发送到客户端。如果还没有完成,请不要回显它。 -
这两个段是否在同一个文档中?
标签: php