php - 如何将数千个逗号添加到这些值?
问题描述
当我单击总计时,它将投票列值相加,但它将千位逗号作为小数逗号。因此,我收到的不是 20,000 + 30,000 = 50,000,而是 20,000 + 30,000 = 50。如何解决这个问题?ajax调用函数有问题吗?
这是html文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#red').on('click', function() {
var colorId = $(this).attr("id");
$.ajax({"url": "tables.php", "data": {"color" : colorId},
success: function(response) {
$("#redr").html(response);
console.log(response);
}
});
});
$('#orange').on('click', function() {
var colorId = $(this).attr("id");
$.ajax({"url": "tables.php", "data": {"color" : colorId},
success: function(response) {
$("#oranger").html(response);
console.log(response);
}
});
});
$('#green').on('click', function() {
var colorId = $(this).attr("id");
$.ajax({"url": "tables.php", "data": {"color" : colorId},
success: function(response) {
$("#greenr").html(response);
console.log(response);
}
});
});
$('#indigo').on('click', function() {
var colorId = $(this).attr("id");
$.ajax({"url": "tables.php", "data": {"color" : colorId},
success: function(response) {
$("#indigor").html(response);
console.log(response);
}
});
});
$('#yellow').on('click', function() {
var colorId = $(this).attr("id");
$.ajax({"url": "tables.php", "data": {"color" : colorId},
success: function(response) {
$("#yellowr").html(response);
console.log(response);
}
});
});
$('#blue').on('click', function() {
var colorId = $(this).attr("id");
$.ajax({"url": "tables.php", "data": {"color" : colorId},
success: function(response) {
$("#bluer").html(response);
console.log(response);
}
});
});
$('#total').on('click', function() {
var sumofval = 0;
$(".val").each(function () {
if ($(this).html() !== '')
sumofval = sumofval + parseInt($(this).html());
$('#totalr').html(sumofval);
console.log(sumofval);
});
});
});
</script>
<title>Finals</title>
<style>
table, th {
border: 1px solid white;
padding: 30px;
}
th {
text-align: left;
color: white;
background-color: #007acc;
}
tr {
background-color: #b3ffb3;
}
#tcol {
border-collapse: collapse;
}
td {
border: 1px solid white;
text-align: left;
padding: 10px;
}
</style>
</head>
<body>
<h1 style="font-size:30px;">FINALS</h1>
<table id="tcol" style="width:60%;">
<thead>
<tr>
<th>Color</th>
<th>Votes</th>
</tr>
</thead>
<tr>
<td id="red"><a href="#">Red</a></td>
<td id="redr" class="val"></td>
</tr>
<tr>
<td id="orange"><a href="#">Orange</a></td>
<td id="oranger" class="val"></td>
</tr>
<tr>
<td id="yellow"><a href="#">Yellow</a></td>
<td id="yellowr" class="val"></td>
</tr>
<tr>
<td id="green"><a href="#">Green</a></td>
<td id="greenr" class="val"></td>
</tr>
<tr>
<td id="blue"><a href="#">Blue</a></td>
<td id="bluer" class="val"></td>
</tr>
<tr>
<td id="indigo"><a href="#">Indigo</a></td>
<td id="indigor" class="val"></td>
</tr>
<tr>
<td id="total" style="font-weight: bold;"><a
href="#">TOTAL</a></td>
<td id="totalr" style="font-weight: bold;"></td>
</tr>
</table>
</body>
</html>
这是php文件:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$db_name = "finals";
$conn = new mysqli($servername, $username, $password, $db_name);
if ($conn->connect_error) {
echo "Connection failed: " . $conn->connect_error;
exit ();
}
$co = $_REQUEST['color'];
$sql = "SELECT SUM(votes) AS sum FROM Votes WHERE color = '$co'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
echo number_format($row["sum"]);
}
else {
echo 0;
}
$conn->close();
?>
解决方案
您没有定义完整的参数使用 number_format($row["sum"],2,'.','');
推荐阅读
- c++ - 是否必须在每条语句后加分号
- bitmap - 使用 Accord.Video.VFW.dll 将位图转换为 AVI 时出错
- php - 以编程方式获取已安装作曲家模块的列表
- c - 检查文件是否为ac文件并编译
- postgresql - Rails 生成器(数组)
- c++ - For循环不会一直运行
- r - 如何在 ggplot 中画线以连接这些点?
- html - CSS 两层渐变效果
- android - 尝试在空对象引用上调用虚拟方法“void com.google.android.gms.maps.SupportMapFragment.getMapAsync(..)”
- node.js - Selenium webdriver 打开 firefox 但不通过 Selenium 和 NodeJS 获取页面