我使用CodeIgniter生成一些查询结果,然后在第二步中使用foreach循环使用查询结果中的值运行方法。我现在要做的是以某种方式将新变量与原始查询相结合。这是迄今为止的代码:
$qryOriginal = $this->db->query("SELECT 1 as BAND,
tblappeals.Scenario,
tblappeals.Year,
tblappeals.var1,
tblappeals.var2
FROM tblappeals
WHERE tblappeals.Property = $pn ");
foreach ($qryOriginal->result() as $row)
{
$var3 = $this->getPhaseIn($calcyear, $row->var1, $row->var2);
echo $var3; //HOW CAN I ADD THIS $var3 VALUE TO qryOriginal ???
}
必须有一种简单的方法将此新值添加到原始查询中。我只是不知道该怎么做。我正在考虑使用array_push()
,但这似乎不是正确的功能。有什么想法吗?
答案 0 :(得分:1)
$qryOriginal = $this->db->query("SELECT 1 as BAND,
tblappeals.Scenario,
tblappeals.Year,
tblappeals.var1,
tblappeals.var2
FROM tblappeals
WHERE tblappeals.Property = $pn ");
$qryOriginalResults = $qryOriginal->result_array();
//result() gives result object
foreach ($qryOriginalResults as $row)
{
$var3 = $this->getPhaseIn($calcyear, $row['var1'], $row['var2']);
$qryOriginalResults[] = $var3;
}
$data['mydata'] = $qryOriginalResults;
答案 1 :(得分:0)
所以你不能直接将它添加到结果中; 可以做的是将结果存储在变量中,并将$var3
的内容添加到此变量中。像这样:
$qryOriginal = $this->db->query("SELECT 1 as BAND,
tblappeals.Scenario,
tblappeals.Year,
tblappeals.var1,
tblappeals.var2
FROM tblappeals
WHERE tblappeals.Property = $pn ");
$qryOriginalResults = $qryOriginal->result();
foreach ($qryOriginal->result() as $row)
{
$var3 = $this->getPhaseIn($calcyear, $row->var1, $row->var2);
$qryOriginalResults[] = $var3;
}
考虑一下,如果你将$var3
添加到实际结果中,你将创建一个永无止境的for循环。