php - 在 PHP 中显示 SQL 表并比较值

标签 php mysql sql

我有这张表:

+----+---------------------+----------+---------+---------+---------+
| id | date                | client1  | client2 | client1 | client1 |
+----+---------------------+----------+---------+---------+---------+
|  1 | 2013-04-17 16:15:46 |     8592 |    9786 |    6471 |       0 | 
|  2 | 2013-04-27 16:15:46 |     8617 |    9876 |    7130 |   40243 | 
|  3 | 2013-04-28 17:57:30 |     8617 |    9884 |    7211 |   41657 | 
|  4 | 2013-04-29 13:28:11 |     8616 |    9886 |    7270 |   42516 | 
+----+---------------------+----------+---------+---------+---------+

然后我将它显示在 PHP 中,如下所示:

  <table width="800" border="0" cellspacing="3" cellpadding="3" style="margin-left:auto; margin-right:auto">
  <tr>
    <th scope="col" style="text-align:center; font-weight:bold">Date</th>
    <th scope="col" style="text-align:center; font-weight:bold">Client 1</th>
    <th scope="col" style="text-align:center; font-weight:bold">Client 2</th>
    <th scope="col" style="text-align:center; font-weight:bold">Client 3</th>
    <th scope="col" style="text-align:center; font-weight:bold">Client 4</th>
  </tr>
  <?

$queryuv = mysql_query("SELECT * FROM com_information ORDER BY date ASC");
while ($resultuv=mysql_fetch_assoc($queryuv)) {
        $date=$resultuv['date'];
        $client1=$resultuv['client1'];
        $client2=$resultuv['client2'];
        $client3=$resultuv['client3'];
        $client4=$resultuv['client4'];          
        ?>            
  <tr>
    <th scope="row" style="text-align:left"><?=$date?></th>
    <td style="text-align:center"><?=number_format($client1,0,'.',',');?></td>
    <td style="text-align:center"><?=number_format($client2,0,'.',',');?></td>
    <td style="text-align:center"><?=number_format($client3,0,'.',',');?></td>
    <td style="text-align:center"><?=number_format($client4,0,'.',',');?></td>
  </tr>

<? } ?>
</table>

我想做的是在表格中显示信息,将值与同一客户端的前一个日期进行比较,并显示它增加或减少了多少。

最佳答案

设置一些变量来跟踪之前的值

$lastclient1 = 0 ;
$lastclient2 = 0 ;
$lastclient3 = 0 ;
$lastclient4 = 0 ;

像以前一样进行

$queryuv = mysql_query("SELECT * FROM com_information ORDER BY date ASC");

while ($resultuv=mysql_fetch_assoc($queryuv)) {
        $date=$resultuv['date'];
        $client1=$resultuv['client1'];
        $client2=$resultuv['client2'];
        $client3=$resultuv['client3'];
        $client4=$resultuv['client4'];          
        ?>   

像以前一样输出您的数据 - 对于您可以使用的运动数据:

<?=number_format($client1-$lastclient1,0,'.',',');?>

在循环结束前设置最后一行数据

<?
        $lastclient1=$client1;
        $lastclient2=$client2;
        $lastclient3=$client3;
        $lastclient4=$client4;
      }
?>

关于php - 在 PHP 中显示 SQL 表并比较值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16306890/

相关文章:

sql - 基于离线表查询匹配模式

php - 匹配表中的 mysql 通配符条目以进行查询

java - 字符串上的切换函数

php - mysqli参数错误-数据库连接工作正常吗?

php - 在php中连接mysql查询,其中引号关闭

mysql - 带参数的函数查询

mysql - 如何合并 2 个 MySQL 查询?

mysql - 将 12gb MySQL 数据库导入 PHPmyAdmin

sql - 通过递归计算接力赛时间(在动态 SQL 中)

SQL 检查时间是否出现在某些时间段之间