需要帮助根据codeIgniter中的查询生成动态结果

时间:2013-11-20 04:03:31

标签: php codeigniter

我正在尝试根据前端传递的查询动态生成结果。 这是我的代码......

echo "<table border='1' cellspacing='0' cellpadding='4'><tr>";
foreach ($resultant->list_fields() as $field) {
    echo "<th>$field</th>";
}

foreach ($resultant->result_array() as $row){
    echo "<tr>";
    $resultants = $this->db->query($query);         
    foreach ($resultants->list_fields() as $newFields) {
        echo "<td>$row[$newFields]</td>";
    }
    echo "</tr>";
}
echo "</table>"; 

我得到了预期的结果。我需要继续使用启动列值 $resultants = $this->db->query($query);

我想知道这会对性能产生影响。所以请指导我。

1 个答案:

答案 0 :(得分:0)

是的,因为它再次嵌套循环会影响性能。据我所知,你想要第二个查询中的所有字段名称。这是你如何避免这种情况。 (还有其他方法可以获得字段数。)

echo "<table border='1' cellspacing='0' cellpadding='4'><tr>";
$fieldcount=0;
foreach ($resultant->list_fields() as $field) {
    echo "<th>$field</th>";
$fieldcount++;
}

foreach ($resultant->result_array() as $row){
    echo "<tr>";
    for($i=0; $i<$fieldcount; $i++) {
        echo "<td>$row[$i]</td>";
    }
    echo "</tr>";
}
echo "</table>";