如何在php中求和表数据值
如何在不选择mysql表的情况下使用php对表数据值求和如何在php中求和表数据值,php,mysql,Php,Mysql,如何在不选择mysql表的情况下使用php对表数据值求和 mysql_query("SELECT * FROM pay_detec WHERE (`nic_num` LIKE '%".$query."%') OR (`cust_name` LIKE '%".$query."%')"); if(mysql_num_rows($raw_results) > 0) { while($results = mysql_fetch_array($raw_results)) { echo "&
mysql_query("SELECT * FROM pay_detec WHERE (`nic_num` LIKE '%".$query."%') OR (`cust_name` LIKE '%".$query."%')");
if(mysql_num_rows($raw_results) > 0)
{
while($results = mysql_fetch_array($raw_results))
{
echo "<tr align='CENTER' bgcolor='FBE946'>
<td height='25px'>".$results['cust_name']."</td> <td>".$results['nic_num']."</td><td>".$results['acc_num']."</td><td>".$results['due_date']."</td>
<td>".$results['loan']."</td><td>".$results['due_months']."</td> <td>".$results['blanc_due']."</td><td>".$results['month_pay']."</td>
<td >".$results['payment']."</td><td>".$results['INTRST']."<td bgColor=red colSpan=0>".$results['short']."</td><td>".$results['othr_chrg']."</td><td>".$results['DELAY_CHRG']."</td><td>".$results['ADVNC']."</td><td>".$results['ttl']."</td><td>".$results['blanc2']."</td></tr>" ;
}
就像Honza说的那样,在循环行时使用一个变量来求和。 您还可以使用mysqls与您的组进行汇总 我还想看看如何保护您的SQL,因为上面的查询(如果您使用的是这个查询的话)将$query作为用户输入,这将使您可以接受SQL注入 例如:
$totalCol = 0;
mysql_query("SELECT * FROM pay_detec WHERE (`nic_num` LIKE '%".$query."%') OR (`cust_name` LIKE '%".$query."%')");
if(mysql_num_rows($raw_results) > 0)
{
while($results = mysql_fetch_array($raw_results))
{
$totalCol += $results['a_col'];
echo "<tr align='CENTER' bgcolor='FBE946'>
<td height='25px'>".$results['cust_name']."</td> <td>".$results['nic_num']."</td><td>".$results['acc_num']."</td><td>".$results['due_date']."</td>
<td>".$results['loan']."</td><td>".$results['due_months']."</td> <td>".$results['blanc_due']."</td><td>".$results['month_pay']."</td>
<td >".$results['payment']."</td><td>".$results['INTRST']."<td bgColor=red colSpan=0>".$results['short']."</td><td>".$results['othr_chrg']."</td><td>".$results['DELAY_CHRG']."</td><td>".$results['ADVNC']."</td><td>".$results['ttl']."</td><td>".$results['blanc2']."</td></tr>";
}
/* row for totals */
}
如果要跨行对一列的值求和,只需在循环中使用$totalSum+=$results['some_column']。提示:不要使用mysql扩展,它已被弃用,请使用或替代。您能告诉我在while循环中我在何处编写此代码吗。我尝试了所有这些,但都不起作用。我将放入我的完整代码。您能看到吗?另外,客户名称可能应该转义。htmlentities$results['cust_name',ENT_SUBSTITUTE;在下无法正常工作我将显示我的完整代码请帮助我
this my full code
<?php
echo '<body style="background-color:046C33">';
echo '<body style="background-color:orange">';
mysql_connect("127.0.0.1", "root", "") or die(mysql_error());
mysql_select_db("customers") or die(mysql_error());
?>
<html>
<head>
<title>Search</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form method="post" >
<table border="0" cellpadding="0" cellspacing="0">
<tr>ENTER NIC NUMBER
<td><input type="text" name="query" id="text" /> </td>
<td><input type="submit" name="submit" id="search" value="Search" /></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['submit']))
{
$query = $_POST['query'];
$min_length = 1;
if(strlen($query) >= $min_length)
{
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
echo "<table border='0' width='' align='center' cellpadding='1' cellspacing='1'>";
echo "<tr align='center' bgcolor='62E15E'>
<td height='35px' width='150px'>NAME</td> <td>NIC NUMBER</td><td>GVS AC/NUM</td><td>DUE DATE</td><td>AMNT</td><td>DUE</td>
<td>DUE BALANCE</td><td>PAYMNET MONTH</td><td>AMOUNT</td><td>INTERST</td><td bgColor=red colSpan=0>SHORT</td><td>OTHER CHRG</td>
<td>DELAY CHRG</td><td>ADVANCE</td><td>TOTAL DEDEC</td><td>BALANCE</td></tr>";
$totalCol = 0;
$raw_results =
mysql_query("SELECT * FROM pay_detec WHERE (`nic_num` LIKE '%".$query."%') OR (`cust_name` LIKE '%".$query."%')");
if(mysql_num_rows($raw_results) > 0)
{
while($results = mysql_fetch_array($raw_results))
{
echo "<tr align='CENTER' bgcolor='FBE946'>
<td height='25px'>".$results['cust_name']."</td> <td>".$results['nic_num']."</td><td>".$results['acc_num']."</td><td>".$results['due_date']."</td>
<td>".$results['loan']."</td><td>".$results['due_months']."</td> <td>".$results['blanc_due']."</td><td>".$results['month_pay']."</td>
<td >". $results['payment']."</td><td>".$results['INTRST']."<td bgColor=red colSpan=0>".$results['short']."</td><td>".$results['othr_chrg']."</td><td>".$results['DELAY_CHRG']."</td><td>".$results['ADVNC']."</td><td>".$results['ttl']."</td><td>".$results['blanc2']."</td></tr>";
}
}
else{
echo "<tr align='center' bgcolor='#6C0000'>
<td colspan='2' height='25px'>No results</td><tr>";
echo "</table>";
}
}
else{
echo "Minimum length is ".$min_length;
}
}
echo "<a href='index.html'>HOME PAGE</a>";
?>
</body>
</html>