如何在while循环中对表进行排序?

时间:2015-09-19 03:50:17

标签: php html mysql

有人可以帮我按计算$ changepercentage对此表进行排序。

我的表有超过1000条记录,按日期顺序上传。 我在它的回声时尝试了arsort(),SORT(),但是PHP说它不是数组而是字符串。

我也试过mysqli_fetch_array()但没有运气。

需要你的帮助。

SQLFiddle可用。

clo_prices (table)  
date        |  name   |   cl_price |
2015-09-15  |  AAA    |    10      |
2015-09-15  |  BAA    |    20      |
2015-09-15  |  ABA    |    30      |
2015-09-16  |  AAA    |    86      |
2015-09-16  |  BAA    |    65      |
2015-09-16  |  ABA    |    33      |

 price_list (table)
 date       | name     | volume    | last |
 2015-09-15 | AAA      | 6655245   | 56   |
 2015-09-15 | ABA      | 5666      | 65   |
 2015-09-15 | AAB      | 1333      | 33   |
 2015-09-16 | AAA      | 112365    | 56   |
 2015-09-16 | ABA      | 23131     | 8    |
 2015-09-16 | AAB      | 23330     | 12   |
 2015-09-16 | ABB      | 2323122   | 60   |  
 2015-09-16 | ACB      | 21222     | 99   |

 Desired Result

 date       | company    | closing  | volume    | Change % |
 2015-09-16 | AAA        | 56       | 6655245   | 66       |
 2015-09-16 | ABA        | 65       | 5666      | 9.7      |
 2015-09-16 | ACB        | 69       | 1333      | 7        |
 2015-09-16 | AAB        | 33       | 112365    | 3.2      |
$queryTMG = "SELECT price_list.date,price_list.name, price_list.last, price_list.volume, clo_prices.date, clo_prices.name, clo_prices.cl_price
                FROM price_list 
                INNER JOIN clo_prices
                ON price_list.name = clo_prices.name 
                WHERE price_list.date= '$dateT' AND clo_prices.date = '$dateT' ORDER BY name LIMIT 10 ";

$queryPMG = "SELECT price_list.date, price_list.name, price_list.last, price_list.volume, clo_prices.date, clo_prices.name, clo_prices.cl_price
                FROM price_list 
                INNER JOIN clo_prices
                ON price_list.name = clo_prices.name 
                WHERE price_list.date= '$dateT' AND clo_prices.date = '$dateP' ORDER BY name LIMIT 10";

$resultTMG = mysqli_query($dbc, $queryTMG) or die (mysqli_error());
$resultPMG = mysqli_query($dbc, $queryPMG) or die (mysqli_error());


echo '<table  cellpadding = 15 border =1>';
echo '<tr>  
        <th>Company</th>    
        <th>Closing</th> 
        <th>Volume</th> 
        <th>Change %</th> 
        </tr>';
while($rowTMG = mysqli_fetch_assoc($resultTMG) AND $rowPMG = mysqli_fetch_assoc($resultPMG))
{
        echo '<tr> <td>'. $rowTMG['name']. '</td>'; 
        echo '<td>'. $rowTMG['last']. '</td>';
        echo '<td align = "right">'. $volumeTMG = number_format($rowTMG['volume']). '</td>';
        echo '<td align = "right">'.  $changeprecentage = number_format((( $rowTMG['cl_price'] - $rowPMG['cl_price'] ) / $rowTMG['cl_price']), 2, '.', '' ). '</td> </tr>';
}
echo '</table>';    

0 个答案:

没有答案