欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

mysql - 一个计算php结果的问题。求大牛,求高手

程序员文章站 2024-01-17 20:26:52
...
//从part_time数据库中查找
$sql="select * from part_time where agents=6";
$result=mysql_query($sql);

while($row=mysql_fetch_assoc($result)){
    $id=$row['id'];//循环出所有agents=2的id
    
    $resu="select count(*) from userinfo where part_person=$id";
    $re=mysql_query($resu);
    $roo=mysql_fetch_assoc($re);
    $number= $roo['count(*)']; //计算出userinfo中是相同兼职人员(part_time)的人数
    echo $number;
    echo "----";
}
//现在需要把$number 相加得到最终的数字。应该怎么做?求大牛解答

回复内容:

//从part_time数据库中查找
$sql="select * from part_time where agents=6";
$result=mysql_query($sql);

while($row=mysql_fetch_assoc($result)){
    $id=$row['id'];//循环出所有agents=2的id
    
    $resu="select count(*) from userinfo where part_person=$id";
    $re=mysql_query($resu);
    $roo=mysql_fetch_assoc($re);
    $number= $roo['count(*)']; //计算出userinfo中是相同兼职人员(part_time)的人数
    echo $number;
    echo "----";
}
//现在需要把$number 相加得到最终的数字。应该怎么做?求大牛解答

while前面定义一个$number,然后直接$number+=$row['count(*)']即可。

另外我将代码给你精简了下。。。

$sql = 'select count(*) as total from userinfo where part_person IN (select id from part_time where agents = 6)';
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
echo $row['total'];

定义个$sum=0;
while中加上$sum+=$number

$number += $roo['count(*)'];

哇塞,循环语句里你这样反复调用数据库,访问量大估计数据库会受不了。可以使用join查询。

试试 aggregate

$number += $roo['count(*)'];

不过这代码有点。。

相关标签: mysql php