[英]Maths with mySQL PHP database
我正在考虑做一些数学运算,以计算出数据库中所有用户拥有的“积分”总数。
我有一个数据库,其中有一个名为users,userid,username,email和credit列的表。 我想知道是否有一种方法可以将表中的所有结果(例如userid,用户名,电子邮件和信用)显示为表列,然后在底部显示所有用户信用的总数:
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进行的任何其他数学方程式
奥立佛
如果您需要在一个查询中完成所有操作,则可以在某些条件下使用WITH ROLLUP
。
http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html
特别是,请阅读该链接底部的注释,以获取与您要执行的操作有关的示例。
就我个人而言,我更喜欢单独或在应用程序方面进行聚合。
您可以使用SUM(Credits) as Total Credits
。 更多信息在这里
你可以做:
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;
首先,您需要做的就是在MySQL中创建数据库,如果您不知道如何创建此处的语法,则只需运行查询即可,但不要忘记首先创建数据库。
创建表mhs(UserID INT非空AUTO_INCREMENT PRIMARY KEY,例如varchar(20),Email_Address varchar(30),Credits 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);
}
?>
希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.