Mysql只输出最后一个循环的数据


Mysql only outputs last loops data

我正在尝试输出当天所有拨号活动的座席呼叫统计数据。有多个活动,目前在一天内拨打了3个。我从表名中获得活动数据,该表名按活动更改,如custom_16546546和custom_1564654。我运行一个查询以获取列名的数字部分,然后将其作为变量传递给输出用户统计信息的另一个查询。这是它只显示数据的地方,我可以告诉是最后的查询循环信息。我已经显示了来自第一个查询的数组数据,以确认表名正在存储,它看起来很好。

    $today = "2013-05-29";
$customquery = "SELECT distinct( entry_list_id) FROM vicidial_list where entry_list_id > 0 and last_local_call_time between '$today 00:00:00' and '$today 23:59:59';" ;
$customresult = mysql_query($customquery) or die(mysql_error());
$customrows = mysql_num_rows($customresult);
        while ($customrowResult = mysql_fetch_array($customresult)) 
                {
                $customID[] = $customrowResult["entry_list_id"];
                }
$z = 0;
if(!$customID){
//echo " Please Select a valid date range: ".$today. " - ".$today." is not valid" ;
}else{
while($z<$customrows)
{
$query = "SELECT 
            vicidial_users.user,
            vicidial_users.full_name,
            vicidial_log.list_id,
            COUNT(CASE WHEN (vicidial_log.status = 'SALE') THEN 1 ELSE null END) as sumcountSamnt,
            COUNT(CASE WHEN (vicidial_log.status = 'SALE' AND custom_$customID[$z].up_amt <> '') THEN 1 ELSE null END) as sumcountupAmnt,
            COUNT(CASE WHEN (vicidial_log.status = 'SALE' AND custom_$customID[$z].cc_num <> '') THEN 1 ELSE null END) as sumccverifiedcountAmnt,
            COUNT(CASE WHEN (vicidial_log.status = 'SALE' AND custom_$customID[$z].bank_act <> '') THEN 1 ELSE null END) as sumbankverifiedcountAmnt,
            SUM(CASE WHEN (vicidial_log.status = 'SALE' AND custom_$customID[$z].cc_num <> '') THEN custom_$customID[$z].s_amount ELSE null END) as sumccverifiedAmnt,
            SUM(CASE WHEN (vicidial_log.status = 'SALE' AND custom_$customID[$z].bank_act <> '') THEN custom_$customID[$z].s_amount ELSE null END) as sumbankverifiedAmnt,
            SUM(CASE WHEN (vicidial_log.status = 'SALE') THEN custom_$customID[$z].d_amt ELSE null END) as sumDamnt,
            SUM(CASE WHEN (vicidial_log.status = 'SALE') THEN custom_$customID[$z].up_amt ELSE null END) as sumUpamnt,
            SUM(CASE WHEN (vicidial_log.status = 'SALE') THEN custom_$customID[$z].md_amt ELSE null END) as sumMdamnt,
            SUM(CASE WHEN (vicidial_log.status = 'SALE') THEN custom_$customID[$z].s_amount ELSE null END) as sumSamnt
        FROM
            vicidial_log
        INNER JOIN
            vicidial_users
        ON
            (vicidial_log.user = vicidial_users.user)
        INNER JOIN
            custom_$customID[$z]
        ON
            (vicidial_log.lead_id = custom_$customID[$z].lead_id)
        WHERE 
            call_date
        BETWEEN
            '$today 00:00:00'
        AND
            '$today 23:59:59'
        AND
            vicidial_log.user != 'VDAD'
        AND
            vicidial_users.user_group != 'TX-Training'
        GROUP BY
            vicidial_log.user, vicidial_log.campaign_id
        ";
//This query is used to sum loop data data 
$queryResult = mysql_query($query) or die(mysql_error());    //This line perfomrs query error handling 
$z++;
}

下面是如何显示数据的一个片段

    $result = mysql_query($query) or die(mysql_error());
    while ($row = mysql_fetch_assoc($result)) 
 {   
     echo "<tr>'n";
  //--fullname and userID 
     echo "<td> ".$row["full_name"]. " - ".$row["user"]."</td>'n";
  //Agent total sales amount
             if ($row["sumcountSamnt"] == '0') {
    echo "<td>$nosalestxt</td>'n";
    } else {
     echo "<td> $".$row["sumSamnt"]."</td>'n";
     }
    }

所以我希望能够显示每个用户从他们拨打的所有活动的数据总和。

提前感谢您的帮助

编辑:我使用&行从一个while循环输出数据,是的,克里斯,我想存储它一个数组,但我想我只是错过了它,再次感谢

根据您提供的代码片段,看起来您在每次执行循环后都覆盖了$queryResult的值。也许您打算执行查询并将结果放入数组(或类似的东西)中,以便稍后循环并显示。

我还注意到你在输出中引用了$row[],你是如何给这个变量赋值的?