【发布时间】:2011-01-08 01:52:10
【问题描述】:
我基本上是在查询上运行一个循环,并使用 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 无济于事......
想法?
【问题讨论】:
-
我想我刚刚想通了...这是EXTR_SKIP
-
如果可以解决您的问题,您可以将其作为答案发布并接受。这将有助于本页的未来读者。