我正在尝试在 PHP 中对 mysql 表运行这些查询
$sql="SELECT * from customer where customerid > '' and voicemail_max > '' and company_status = '' ";
$rs=mysql_query($sql,$conn);
while($customer=mysql_fetch_array($rs)) {
$sql2="SELECT * from client where parent_client_id = '".$customer["customerid"]."' ";
$rs2=mysql_query($sql2,$pbx01_conn);
while($result2=mysql_fetch_array($rs2))
{
$sql3="SELECT * from extension where client_id = '".substr($result2["id"],1,3)."' ";
$rs3=mysql_query($sql3,$pbx01_conn);
while($result3=mysql_fetch_array($rs3))
{
$sql4="SELECT * from extension_voicemail where extension_id = '".$result3["id"]."' ";
$rs4=mysql_query($sql4,$pbx01_conn);
$voicemail_size_total=0;
while($result4=mysql_fetch_array($rs4)) {
$voicemail_size_total = $voicemail_size_total+$result4["filesize"];
}
}
}
echo $voicemail_size_total;
}
它应该将一列中的多个值相加
$sql4
查询如下所示:
SELECT * from extension_voicemail where extension_id = '1454'
当我在数据库中运行它时,它返回一行,文件大小列为 31780
但是当我回显 $voicemail_size_total
变量时,它什么也没显示。
如果我从该变量所在的位置回显该变量,但它现在所在的位置没有显示任何内容,它就可以正常工作
最佳答案
在所有 while 循环之外声明 $voicemail_size_total=0;
。每次你回到循环时,你都会将其重新设置回 0。这可能就是问题所在。
关于PHP 从多个表中选择并将值相加得到总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21320255/