2
我基本上在查询上运行循环,并使用PHP的缓冲在循环中插入模板文件。问题是如果我在查询中有多个结果,我最终会得到两个或更多相同的结果(循环相同的数据,而不是mysql结果行中的下一个结果)。PHP模板循环缓冲
功能...
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出来的功能都无济于事......
想法?
我想我只是想出了它......这是EXTR_SKIP – 2011-01-08 01:52:54