PHP总是从上到下运行,因此您不能
echo
在用值填充之前的变量。
因此,在这种情况下,您可以通过放置
回声
在回路下方(即
结束
循环)。
<?php
$title = '';
$query = $con->prepare("SELECT * FROM notice WHERE id=:id");
$query->bindParam(':id',$_GET['id']);
$query->execute();
while($row=$query->fetch(PDO::FETCH_ASSOC)){
$title .= $row['title'];
// ....
}
?>
<a href=""><?php echo $title?></a>
如果循环本身也生成输出,并且您希望将标题放在此输出之上,则需要
buffer the output
直到你准备好发送它。
<?php
$title = '';
$query = $con->prepare("SELECT * FROM notice WHERE id=:id");
$query->bindParam(':id',$_GET['id']);
$query->execute();
ob_start();
while($row=$query->fetch(PDO::FETCH_ASSOC)){
$title .= $row['title'];
// Produce any output you want
}
$loop_output = ob_get_clean();
?>
<a href=""><?php echo $title ?></a>
<?php echo $loop_output ?>