假设我有这个简单的PHP MYSQL while循环:
<?php
while($row = $STH->fetch())
{
echo '<div id="$row['id']">$row['content']</div>';
echo '<div id="comment-holder">;
echo '<div id="$row['id2']">$row['content2']</div>';
echo '</div>';
echo '<div id="$row['id3']">$row['content3']</div>';
?>
如何让comment-holder
DIV像持有人一样行事?意味着它应该只回显一次,$row[id2]
和$row[content2]
的内容应该附加到它上面,如下所示:
<div id="comment-holder">
<div id="1">test</div>
<div id="2">different</div>
<div id="3">text</div>
</div>
提前致谢
答案 0 :(得分:2)
首先:您的代码有错误 - 在单引号字符串中不是字符串插值。 如果你想要那个结构,你可以使用给定的div
简单地包围你的代码<div class="comment-holder">
<?php
while($row = $STH->fetch())
{
echo "<div id=\"{$row['id']}\">{$row['content']}</div>";
echo "<div id=\"{$row['id2']}\">{$row['content2']}</div>";
echo "<div id=\"{$row['id3']}\">{$row['content3']}</div>";
}
?>
</div>
或者:
<?php
echo '<div class="comment-holder">';
while($row = $STH->fetch())
{
echo "<div id=\"{$row['id']}\">{$row['content']}</div>";
echo "<div id=\"{$row['id2']}\">{$row['content2']}</div>";
echo "<div id=\"{$row['id3']}\">{$row['content3']}</div>";
}
echo '</div>';
?>
答案 1 :(得分:0)
也许我错过了一些非常明显的东西,但是......为什么不改变回声的顺序呢?
<?php
while($row = $STH->fetch())
{
echo '<div id="comment-holder">';
echo '<div id="' . $row['id'] . '">' . $row['content'] . '</div>';
echo '<div id="' . $row['id2'] . '">' . $row['content2'] . '</div>';
echo '<div id="' . $row['id3'] . '">' . $row['content3'] . '</div>';
echo '</div>';
?>
顺便说一句,while
块在哪里结束?
答案 2 :(得分:0)
$ones = $twos = $threes = '';
while ($row = $STH->fetch()) {
$ones .= "<div id='$row[id]'>$row[content]</div>";
$twos .= "<div id='$row[id2]'>$row[content2]</div>";
$threes .= "<div id='$row[id3]'>$row[content3]</div>";
}
$result = sprintf("%s<div id='comment-holder'>%s</div>%s", $ones, $twos, $threes)
答案 3 :(得分:-1)
将它放在while循环之外。防爆。
<?php
echo 'hi';
for($i = 0; $i < 5; $i++){
echo 'yo';
}
echo 'the end';
?>
将输出:嗨哟哟哟你最后