【问题标题】:Maths with mySQL PHP database使用 mySQL PHP 数据库进行数学运算
【发布时间】:2012-01-16 03:48:28
【问题描述】:

我正在考虑做一些数学运算来计算出数据库中所有用户拥有的“信用”总量。

我有一个数据库,其中包含一个名为 users 的表,其中包含用户 ID、用户名、电子邮件和信用列。 我想知道是否有一种方法可以将所有结果显示在表格中,例如用户 ID、用户名、电子邮件和信用作为表格列,然后在底部显示所有用户信用的总数:

 UserID | Username | Email Address | Credits
 -------+----------+---------------+--------
    1   | example  | e@mail1.com   |    4 
    2   | another  | e@mail2.com   |    3
    3   | lastone  | e@mail3.com   |    1
 -------+----------+---------------+--------
        |          | Total Credits |    8
 -------+----------+---------------+--------

我想知道这是否可能以及您可以使用 mySQL 数据库和 PHP 进行的任何其他数学方程式

奥利弗

【问题讨论】:

  • 那是个坏主意。它不是一个集合。
  • 有更好的方法吗?
  • 如果您想简单地从数据库中检索行,您可以使用 php 轻松完成此操作并循环输出以表格格式打印。迭代 db 结果以进行打印时,对 Credits 列的值求和同样简单。这是你要问的吗?
  • 这就是我要找的东西,现在看起来比我原先想的要简单得多!
  • 嗯,现有一百万个教程介绍了如何使用 PHP 从数据库中检索数据并循环遍历结果。 Google(或 SO 搜索)是您的朋友。

标签: php mysql database math equations


【解决方案1】:

如果您需要在一个查询中完成所有操作,您可以在特定条件下使用WITH ROLLUP

http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html

特别是,请阅读该链接底部的 cmets,以获取与您正在尝试执行的操作相关的示例。

就个人而言,我更喜欢单独或在应用程序端进行聚合。

【讨论】:

    【解决方案2】:

    您可以使用SUM(Credits) as Total Credits。更多信息here

    【讨论】:

      【解决方案3】:

      你可以这样做:

      select UserId, Username, EmailAddress, Credits from users order by userid
      union
      select '' as UserId,'' as Username,'Total Credits' as email,sum(credits) as credits from users;
      

      【讨论】:

        【解决方案4】:

        首先,您只需在 MySQL 中创建数据库,如果您不知道如何创建这里的语法,您只需运行查询,但不要忘记先创建数据库.

        创建表 mhs ( UserID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 例如 varchar(20), Email_Address varchar(30), 积分 INT )

        现在执行数据库后,我们只需要使用 php 文件对其进行配置。

        这是 php 中的代码列表,您可以选择编写自己的代码

        <?php
        
        showdatame();
        function showdatame()
        {
        $inttotalcredits=0;
        $con = mysql_connect("localhost","root","");
        if (!$con)
        {
        die('Could not connect: ' . mysql_error());
        }
        
        mysql_select_db("praktikum", $con);
        
        $result = mysql_query("SELECT * FROM mhs");
        
        echo "<table border='1'>
        <tr>
        <th>UserId</th>
        <th>UserName</th>
        <th>Email Adress</th>
        <th>Credits</th>
        </tr>";
        
        while($row = mysql_fetch_array($result))
        {
        echo "<tr>";
        echo "<td>" . $row[0] . "</td>";
        echo "<td>" . $row[1] . "</td>";
        echo "<td>" . $row[2] . "</td>";
        echo "<td>" . $row[3] . "</td>";
        $inttotalcredits += $row[3];
        echo "</tr>";
        }
        echo "<td>" . "" . "</td>";
        echo "<td>" . "" . "</td>";
        echo "<td>" . "Total Credits" . "</td>";
        echo "<td>" . $inttotalcredits . "</td>";
        
        echo "</table>";
        mysql_close($con);   
        }
        
        ?>
        

        我希望这对你很有帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-04-18
          • 2012-08-14
          • 1970-01-01
          • 2021-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多