从行和列计算值然后输出到多个单元格

时间:2014-05-23 11:45:34

标签: javascript php sql

我有一个包含这些列的表:

1st col          2nd col    3rd col     4th col
------------------------------------------------------
|                   |       |  1st Inst  |  2nd Inst  |
|   Athletic        |   100 |            |            |
|   Socio-cultural  |   100 |            |            |
|   Library         |   150 |            |            |
|   Medical         |   50  |            |            |
|   School Organ    |   20  |            |            |
|   Dev't Fee       |   100 |            |            |
------------------------------------------------------
|   Buttons: (ADD) (DEL)    |            |            |
------------------------------------------------------
|                   |       |___Input____|___Input____|
------------------------------------------------------

第1列和第2列的值是使用php生成的  数据库。这个表是动态表中的数量  按钮可以增加或减少列数。在底部  我有输入字段,也可以作为列的列增加  表增加。  我想要的是,当我在输入字段上输入一个值时,它会  计算过程与第二列中每一行的值一起进行  并且该输出将写在相应的行上  第3 /第4列,取决于哪个输入字段包含初始值。

示例如下:

1st col          2nd col    3rd col     4th col
------------------------------------------------------
|                   |       |  1st Inst  |  2nd Inst  |
|   Athletic        |   100 |   200      |            |
|   Socio-cultural  |   200 |   400      |            |
|   Library         |   300 |   600      |            |
|   Medical         |   400 |   800      |            |
|   School Organ    |   500 |   1000     |            |
|   Dev't Fee       |   600 |   1200     |            |
------------------------------------------------------
|   Buttons: (ADD) (DEL)    |            |            |
------------------------------------------------------
|                   |       |   2        |            |

我在计算部分没有问题...我的问题是我如何输出  相应列上的值。

这是用于检索第一和第二列的值的php代码。

$stmt = $pdo->prepare('SELECT * FROM miscfeelist');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();
$result = $stmt->fetchAll();
if (count($result)){
  foreach ($result as $r){
echo   '<tbody id="tb"><tr>
<td align="center">'.$r['MiscFee_Name'].'</td>
<td align="center" valign="middle" class="value">'.$r['MiscFee_Value'].'</td>
<td>&nbsp;</td>
<td class="dwn">&nbsp;</td>
<td class="dwn">&nbsp;</td>
</tbody></tr>';
    }
  }
else
{
echo "No Record in the Database.";
}

这是输入字段:

 <tr>

    <td  align="center">&nbsp;</td>
    <td  align="center" valign="middle" bgcolor="#FF9900"><input class="inst" type="text" style="border:thick" size="12" onkeyup="MiscFeeColl()" placeholder="1st" value="0"></td>
    <td  align="center" valign="middle" bgcolor="#FF9900"><input class="inst" type="text" style="border:thick" size="12" onkeyup="MiscFeeColl()" placeholder="2nd" value="0"></td>
  </tr>

这是我的计算代码:

    for(var i = 0; i < theOddOnes.length; i++){ //rows
            for(var l = 0; l < res.length; l++){

                inst = theOddOnes[l].value;

                fund165 = (MiscFee/GrandTot()*inst);
                fund165 = +fund165.toFixed(2);

                //columns
                Miscfee123 = (parseFloat(val[l].innerHTML)/MiscFee*fund165);
                Miscfee123 = +Miscfee123.toFixed(2);     

                document.getElementsByClassName("dwn")[l].firstChild.nodeValue = Miscfee123;


            }
        }

这些计算的输出是:

1st col          2nd col    3rd col     4th col
------------------------------------------------------
|                   |       |  1st Inst  |  2nd Inst  |
|   Athletic        |   100 |   200      |      400   |
|   Socio-cultural  |   200 |   600      |      800   |
|   Library         |   300 |   1000     |      1200  |
|   Medical         |   400 |            |            |
|   School Organ    |   500 |            |            |
|   Dev't Fee       |   600 |            |            |
------------------------------------------------------
|   Buttons: (ADD) (DEL)    |            |            |
------------------------------------------------------
|                   |       |___2________|____________|
------------------------------------------------------

我的代码正在水平显示它。我已经在这个工作了两个星期......我似乎无法让它工作..请帮助..

EDITED

我已经尝试过这个并且它在某种程度上有意义,但我不能让它与其他输入一起工作......

var myTable = document.getElementById('billingForm');

        for(var i= 0; i < theOddOnes.length; i++){  //rows
            for(var l = 0; l < res.length; l++){

                inst = theOddOnes[i].value;

                fund165 = (MiscFee/GrandTot()*inst);
                fund165 = +fund165.toFixed(2);

                Miscfee123 = (parseFloat(val[l].innerHTML)/MiscFee*fund165);
                Miscfee123 = +Miscfee123.toFixed(2);     

    //          document.getElementsByClassName("dwn")[l].firstChild.nodeValue = Miscfee123;
                myTable.rows[l].cells[i].innerHTML = Miscfee123;

            }
        }

这是输出:

  200            2nd col    3rd col     4th col
------------------------------------------------------
|   400             |       |  1st Inst  |  2nd Inst  |
|   600             |   100 |            |            |
|   800             |   200 |            |            |
|   1000            |   300 |            |            |
|   1200            |   400 |            |            |
|   School Organ    |   500 |            |            |
|   Dev't Fee       |   600 |            |            |
------------------------------------------------------
|   Buttons: (ADD) (DEL)    |            |            |
------------------------------------------------------
|                   |       |   2        |            |

我尝试将代码编辑到其他索引,但它输出0值。

  for(var i= 2; i < theOddOnes.length; i++){    //rows
  for(var l = 3; l < res.length; l++){

这是输出:

  1st col            2nd col    3rd col     4th col
 ------------------------------------------------------
 |                  |       |  1st Inst  |  2nd Inst  |
 |  Athletic        |   100 |   0        |            |
 |  Socio-cultural  |   200 |   0        |            |
 |  Library         |   300 |   0        |            |
 |  Medical         |   400 |   0        |            |
 |  School Organ    |   500 |   0        |            |
 |  Dev't Fee       |   600 |   0        |            |
 ------------------------------------------------------
 |  Buttons: (ADD) (DEL)    |            |            |
 ------------------------------------------------------
 |                  |       |   2        |            |

0 个答案:

没有答案