2015-05-15 62 views
-1

例如,在while循环,结果将通过车辆数这样如何从同一个PHP While While循环中打断输出?

Vehicle num total_amount 
TEST V 1234 500 
TEST V 1234 500 
TEST V 1234 500 
TEST w 785  1000 
TEST w 785  1000 
TEST Z 589  700 
TEST Z 589  700 
TEST Z 589  700 

But i want to like this. 

Vehicle num total_amount 
TEST V 1234 500 
TEST V 1234 500 
TEST V 1234 500 

Vehicle No: TEST V 1234 
Total amount: 1500 

TEST w 785  1000 
TEST w 785  1000 

Vehicle No: TEST w 785 
Total amount: 2000 


TEST Z 589  700 
TEST Z 589  700 
TEST Z 589  700 

Vehicle No: TEST Z 589 
Total amount: 2100 

我想显示顺序显示喜欢使用PHP + MYSQL 如何解决这个问题DIS,任何人可以告诉?

这里我的代码示例?

<table class="table table-table-striped accord-content even" width="100%" style="clear:both;" id="textttt"> 
    <thead> 
    <tr class="bg-green" style="background:#DBB74E!important; color:#698602 !important" > 
     <th>S No</th> 
     <th>Owner Name</th> 
     <th>Truck Number</th> 
     <th>total</th> 
    </tr> 
    </thead> 
    <?php 

$query_all = mysql_query("select * from testing where ownername='" . $_POST['ownername'] . "' and dc_date between '".$weekenddate."' and '" . $_POST['datewe'] . "' and status='Verified' order by truckk_number ASC"); 

     while ($fet_all = mysql_fetch_array($query_all)) { ?> 
    <tr class="accord-content even bg-gray" style="color:#698602 !important;"> 
    <td><?php echo $fet_all['id']; ?></td> 
    <td><?php echo $fet_all['ownername']; ?></td> 
    <td><?php echo $fet_all['truckk_number']; ?></td> 
    <td><?php echo $fet_all['total']; ?></td> 
    </tr> 
    <?php } ?> 
</table> 

我想显示明智的车辆总数和车辆数量。

+2

你直到现在都试过了吗?把你的代码放在这里? –

+0

一般条款,跟踪当前的总和,和当前的车辆号码。当车辆号码变化时,吐出旧车号码和总和,然后重置 –

回答

1

因为在你的问题没有代码,我在这里使用

Set track = null, total = 0 
Loop through your collection 
    If track is not null and current item vehicle_num is different from track 
     Print current vehicle_num 
     Print total 
     Set total = 0 
    else 
     Update total = total + current total_amount 
    endif 
    Set track = current item vehicle_num 
    Print current item info 
endloop 

的伪码的代码,请考虑更换这片:

while ($fet_all = mysql_fetch_array($query_all)) { ?> 
    <tr class="accord-content even bg-gray" style="color:#698602 !important;"> 
    <td><?php echo $fet_all['id']; ?></td> 
    <td><?php echo $fet_all['ownername']; ?></td> 
    <td><?php echo $fet_all['truckk_number']; ?></td> 
    <td><?php echo $fet_all['total']; ?></td> 
    </tr> 
    <?php } ?> 

这样:

<?php 

#other code 

$track = null; 
$total = 0; 

while ($fet_all = mysql_fetch_array($query_all)) :?>  
    <?php if ($track !== null && $track !== $fet_all['truckk_number']): ?> 
    <tr> 
     <td colspan="3">Vehicle No:</td> 
     <td><?php echo $track; ?></td> 
    </tr> 
    <tr> 
     <td colspan="3">Total:</td> 
     <td><?php echo $total; ?></td> 
    </tr> 
    <?php $total = $fet_all['total']; ?> 
    <?php else: ?> 
    <?php $total += $fet_all['total']; ?> 
    <?php endif; ?> 
    <tr class="accord-content even bg-gray" style="color:#698602 !important;"> 
    <td><?php echo $fet_all['id']; ?></td> 
    <td><?php echo $fet_all['ownername']; ?></td> 
    <td><?php echo $fet_all['truckk_number']; ?></td> 
    <td><?php echo $fet_all['total']; ?></td> 
    </tr> 
    <?php $track = $fet_all['truckk_number']; //add this line ?> 
<?php endwhile; ?> 
<?php if ($total > 0): ?> 
    <tr> 
     <td colspan="3">Vehicle No:</td> 
     <td><?php echo $track; ?></td> 
    </tr> 
    <tr> 
     <td colspan="3">Total:</td> 
     <td><?php echo $total; ?></td> 
    </tr> 
<?php endif; ?> 
+0

两者非常感谢...... – user3544256

+0

如何获得每辆车号码的车辆数量。 – user3544256

+0

测试V 1234测试V 1234测试V 1234 – user3544256

-1

您的查询是这样的......

SELECT *, SUM(total_amount) FROM YOUR_TABLENAME GROUP BY Vehicle_num_COLUMN_NAME 

使用GROUP BY子句。