首页 > 解决方案 > 如何将数千个逗号添加到这些值?

问题描述

当我单击总计时,它将投票列值相加,但它将千位逗号作为小数逗号。因此,我收到的不是 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();

?>

标签: phpjquerymysqlajax

解决方案


您没有定义完整的参数使用 number_format($row["sum"],2,'.','');


推荐阅读