我基本上是在查询上运行一个循环,并使用 PHP 的缓冲在循环中插入一个模板文件。问题是,如果我的查询中有多个结果,我最终会得到两个或更多相同的结果(循环相同的数据而不是 mysql 结果行中的下一个)。
功能...
function get_blocks(){
$query = "SELECT * FROM `my_table`";
$results = mysql_query($query);
while($data = mysql_fetch_assoc($results){
extract($data, EXTR_SKIP);
ob_start();
include(dirname(__FILE__) . '/templates/infoBlock.php');
$returnString .= ob_get_clean();
}
echo $returnString;
}
模板如下所示:
<div>
Hi my name is <?php echo $name; ?>
<br>
and my age is <?php echo $age; ?>
</div>
所以,如果我有两条记录:
record 1
name: Joe
age: 42
record 2
name: Sam
age: 35
我最终得到
Hi my name is Joe
and my age is 42
Hi my name is Joe
and my age is 42
代替
Hi my name is Joe
and my age is 42
Hi my name is Sam
and my age is 35
我已经试过了
echo ob_get_clean();
并将 $returnString 从函数中取出无济于事......
想法?