将计算应用于php中的列

时间:2018-07-29 14:53:46

标签: javascript php database calculated-columns

嗨,我从数据库中获取了一些数据并构建了表。

foreach($data_array->LINEDETAILS as $data){
    if(empty($data->CREDITEDAMOUNT)){
        $data->CREDITEDAMOUNT=0;
    }
    $linetotal='';
    $linetotal = $data->LINEAMOUNT + $data->TAXAMOUNT;
    $column='<td>
                <input onclick="sum_value(\''.trim($data->LINEAMOUNT).'-'.$data->TAXAMOUNT.'\',this.checked)" type="checkbox" name="checkdata'.$i.'" id="checkdata'.$i.'" value="'.$data->CUSTOMERTRXLINEID.'"style="position: inherit;" checked  />
             </td>
             <td>'.$data->DESCRIPTION.'</td>
             <td>'.$data->ORIGINALLINEAMOUNT.'</td>
             <td>'.$data->CREDITEDAMOUNT.'</td><td>'.$data->LINEAMOUNT.'<input type="text" value="'.$data->LINEAMOUNT.'" hidden="true"></td>
             <td>'.$data->TAXAMOUNT.'</td><td>'.$linetotal.'</td>
             <td>
                   <select>
                      <option>--</option>
                      <option>%</option>
                      <option>Area</option>
                      <option>Period In Months</option>
                   </select>
             </td>
             <td><input type="text"></td>
             <td><input type="text"></td>';
    $row .= '<tr>'.$column.'</tr>';
    $grandtotal = $grandtotal + $data->LINEAMOUNT + $data->TAXAMOUNT;
    $i++;
}

此代码返回一对多行数据。 enter image description here

每个像都有一个3值的下拉列表,将根据该值进行计算。如果我选择[%]和[strong>信用值为80%,则批准的行金额应基于合格行金额的80%进行计算。 我试图为每个元素设置id,并使用JavaScript进行数学运算,但它不会计算并给出结果。由于元素的ID应该是唯一的,并且由于元素是循环的,因此ID也会被循环,因此会产生错误。请帮忙。

2 个答案:

答案 0 :(得分:0)

尝试以下操作:下拉值的“ onChange”,然后获取%值并在您的javascript代码中进行计算,并在所需的文件上显示,如果需要,将该字段标记为只读,“ “进行更改。

您可以在循环中为每个元素动态添加id。在获取所有记录直到最大值或迭代(例如i)之后,abd

答案 1 :(得分:0)

您可以在每个输入字段上添加一个类。例如。

jQuery('.credit_val').change(function(){
var eligible = parseFloat(jQuery(this).parents('tr').find('.eligible_line').text());
var credit = parseFloat(jQuery(this).val());

jQuery(this).parents('tr').find('.approve_amount').val(eligible*credit/100);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>
<div class="eligible_line">1000</div> 
</td>
<td>
    <input class = "credit_val">
</td>
<td>
    <input class = "approve_amount">
</td>
</tr>
<tr>
<td>
<div class="eligible_line">2000</div> 
</td>
<td>
    <input class = "credit_val">
</td>
<td>
    <input class = "approve_amount">
</td>
</tr>
</table>