How To Get Record In While Loop
producttable : id | mid | pid | owgh | nwgh | 1    3      12    1.5    0.6 2    3      12    1.5    0.3 3    3      14    0.6    0.4 4    3      15    1.2    1.1 5    4      16
Solution 1:
while($row = mysql_fetch_array($query )){
echo "<td>.$row['pid'].</td>";
echo "<td>.$row['owgh'].</td>";
echo "<td>.$row['nwgh'].</td>";
if (isset($before) and $before!=$row['pid']) {
echo "<td>-----</td>";
}
$before= $row['pid'];
}
Solution 2:
The best way is to do it in a single query to avoid loading time of multiple queries and the handle the data in the php side. So you query must look like this one:
$sql = "SELECT pid, owgh, nwgh from produttable WHERE mid = 3 ORDER BY pid";
Ordering your results by the pid will help you manage the data in the php side like this:
$last_pid = null;
echo'<table class="myTable" border="0">'."\n";
while($row = mysql_fetch_array($query )) {
    $class = ($last_pid == $row['pid']) ? ' class="same"' : ''; 
    echo'    <tr'.$class.'>'."\n"
        .'        <td>'.$row["pid"].'</td>'."\n"
        .'        <td>'.$row["owgh"].'</td>'."\n"
        .'        <td>'.$row["owgh"].'</td>'."\n"
        .'    </tr>."\n";
    $last_pid = $row["pid"];
}
echo '</table>'."\n";
and the style for this class will be:
table.myTable { border:0px;}
table.myTabletr { border-bottom:1px solid #000; }
table.myTabletr.same { border-bottom:1px solid #fff; }
Solution 3:
Try this
$oldsubtotal = 0;
   $newsubtotal = 0;
   $olsgrandtotal = 0;
   $newgrandtotal = 0;
    while($row = mysql_fetch_array($query )){
        if(isset($prev) && ($prev != $row['pid'])){
            echo"<tr><td style='text-align: right'>Total</td><td>".$oldsubtotal."</td><td>".$newsubtotal."</td></tr>"echo"<tr><td colspan="3">-----</td></tr>";
            $oldsubtotal = 0;
            $newsubtotal = 0;
        }
        echo"<tr>";            
        echo"<td>.$row['pid'].</td>";
        echo"<td>.$row['owgh'].</td>";
        echo"<td>.$row['nwgh'].</td>";
        echo"</tr>";
        $oldsubtotal += $row['owgh'];
        $newsubtotal += $row['nwgh'];
        $olsgrandtotal += $row['owgh'];
        $newgrandtotal += $row['nwgh'];
        $prev = $row['pid'];
    }
    echo"<tr><td style='text-align: right'>Grand Total</td><td>".$olsgrandtotal."</td><td>".$newgrandtotal."</td>"
Post a Comment for "How To Get Record In While Loop"