我正在尝试根据前端传递的查询动态生成结果。 这是我的代码......
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);
我想知道这会对性能产生影响。所以请指导我。
答案 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>";