使用codeigniter和postgresql foreach()将不同表中的2个值相乘

时间:2014-02-27 17:39:13

标签: php codeigniter postgresql

这是我

的代码

控制器页面

public function table1(){
$this->load->model('test_model');
$data['value']= $this->test_model->getAlltable1();
$data['value2']= $this->test_model->getAlltable0();
$this->load->view('table1', $data);
}

观看页面

<table class="table">

  <tbody>

<?php   foreach ($value as $v){ ?>
<?php   foreach ($value2 as $v2){ ?>   //different table
      <tr>
        <td><?php echo $v->tech_voc?></td>
        <td><?php echo ($v->tech_voc*$v2->tech_voc)?></td>
      </tr>
<?php } ?>
<?php } ?>

输出有点像这样

1    .75
1    .75
1    .75
1    .75

我想要展示的是这样的

1.75

这里发生的是,相反,它乘以一次,它们都乘以每一行。而且我认为这是因为我把foreach放在foreach中请帮助我。

EDIT 哦是的,我已经尝试删除foreach value2 但它说v2是未定义的变量

希望它有所帮助。

NEW EDIT:---------------------------------------

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您尝试在密钥相同的位置($value[0]*$value2[0]$value[1]*$value2[1]等)进行乘法运算,请尝试此操作。

<?php 
$col1_sum = 0;
$col2_sum = 0;
foreach ($value as $k => $v){ ?>
    <tr>
        <td><?php echo $v->tech_voc?></td>
        <td><?php echo ($v->tech_voc*$value2[$k]->tech_voc)?></td>
        <?php //update sums
        $col1_sum += $v->tech_voc;
        $col2_sum += ($v->tech_voc*$value2[$k]->tech_voc);
        ?>
    </tr>
<?php } ?>
<!-- row with sums -->
<tr>
    <td><?php echo $col1_sum?></td>
    <td><?php echo $col2_sum?></td>
</tr>

根据评论/聊天编辑以包含总和行。