2012-05-14 33 views
-2

我有一組數據我是從這種形式得到(form.php的)數組:總結使用PHP

<? 
    include"connect.php"; 
    $sql = "select * from tbsatpor "; 
    $qry = mysql_query($sql); 
    echo"<form name='submit' method='POST' action='proses.php'>"; 
    $no = 1; 
    while ($data = mysql_fetch_array($qry)){ 
     $nomor = $no++; 
     echo "<input type='text' name='kd_satpor[]' value='$data[kd_satpor]' > 
      <input type='text' name='kd_unor[]' value='$data[kd_unor]' > 
      <input type='text' name='buy[]' value=''><br>"; 
    } 
    echo"<input type='submit' name='submit' value='submit'></form>"; 
?> 

這裏的resultpage.php:

<? 
    echo "<table border='0' size=100%> 
     <tr><td>CODE</td><td>BUY</td><td>UNOR</td><td>TOTAL SUM</td></tr>"; 
    for ($i=0; $i<count($_POST['buy']);$i++){ 
    $_session[$i] = $_POST['kd_satpor'][$i]; 
    $_session[$_POST['buy'][$i]] = $_POST['buy'][$i]; 
    $_session[$_POST['kd_unor'][$i]] = $_POST['kd_unor'][$i]; 
    $total[i] = $_session[$_POST['kd_unor'][$i]] * $_session[$_POST['buy'][$i]]; 

    if($total[i]!=0){ 
     echo "<tr><td>".$_session[$i]."</td><td>" .$_session[$_POST['buy'][$i]]." X     
       </td><td>".$_session[$_POST['kd_unor'][$i]]."=</td><td>".$total[i]."</td> 
       <td></tr>"; 
    } 
    } 
    echo"</table>"; 
?> 

數據陣列看起來是這樣的(resultpage.php的輸出):

CODE | BUY | UNOR | SUM 
+++++++++++++++++++++++++++++++ 
024K30 | 10000 | 2 | 20000 | => 10000 x 2 = 20000 
024K31 | 2000 | 3 | 6000 | => 2000 x 3 = 6000 
024K32 | 5000 | 3 | 15000 | => 5000 x 3 = 15000 
         TOTAL? 

我想從陣列中創建總和,並表現出與碼結果。我怎樣才能做到這一點?

+0

究竟什麼是您所遇到的問題? –

+0

我很抱歉,但代碼是一個混亂。我甚至不知道從哪裏開始。 – freshnode

+0

我知道你剛剛被告知來自Meta Stack Overflow,但這很難理解。 – Pops

回答

1
$finalTotal = 0; 

for ($i=0; $i<count($_POST['buy']);$i++) 
{ 
    ... 


    $finalTotal += $total[i]; 
} 

echo 'Final Total: ' . $finalTotal; 

此外,使用$_SESSION$_session如果你打算使用PHP會話,不要忘記通過htmlentities()您回聲它到一個頁面之前運行任何POST數據。

+0

謝謝老兄...這個工作 –

0

在猜測你想要什麼:

<? 
$OverallTotal=0; 
echo"<table border='0' size=100%> 
<tr><td>CODE</td><td>BUY</td><td>UNOR</td><td>TOTAL SUM</td></tr>"; 
for ($i=0; $i<count($_POST['buy']);$i++) 
{ 
$_session[$i]=$_POST['kd_satpor'][$i]; 
    $_session[$_POST['buy'][$i]]=$_POST['buy'][$i]; 
    $_session[$_POST['kd_unor'][$i]]=$_POST['kd_unor'][$i]; 
    $total[i]=$_session[$_POST['kd_unor'][$i]]*$_session[$_POST['buy'][$i]]; 
    $OverallTotal+=$total[i]; 

    if($total[i]!=0) 
    { 

echo "<tr><td>".$_session[$i]."</td><td>" .$_session[$_POST['buy'][$i]]." X </td><td>".$_session[$_POST['kd_unor'][$i]]."=</td><td>".$total[i]."</td><td></tr>"; 

} 
} 
echo"</table>"; 

echo $OverallTotal; 
?> 
+0

謝謝羅比...... –

0

嘗試使用遞增運算符如下:

<?php 
$totalSum = 0; 
echo"<table border='0' size=100%> 
<tr><td>CODE</td><td>BUY</td><td>UNOR</td><td>TOTAL SUM</td></tr>"; 
for ($i=0; $i<count($_POST['buy']);$i++) { 
    $_session[$i]=$_POST['kd_satpor'][$i]; 
    $_session[$_POST['buy'][$i]]=$_POST['buy'][$i]; 
    $_session[$_POST['kd_unor'][$i]]=$_POST['kd_unor'][$i]; 
    $total[i]=$_session[$_POST['kd_unor'][$i]]*$_session[$_POST['buy'][$i]];  
    if($total[i]!==0) { 
     $totalSum +=$total[i]; 
     echo "<tr><td>".$_session[$i]."</td><td>" .$_session[$_POST['buy'][$i]]." X </td><td>".$_session[$_POST['kd_unor'][$i]]."=</td><td>".$total[i]."</td><td></tr>"; 
    } 
} 
echo "<tr><td colspan='3' align='right'><b>TOTAL</b></td><td>".$totalSum."</td><td></tr>"; 
echo"</table>"; 
?>