Mysql 查询中缺少数据

Mysql 查询中缺少数据,mysql,Mysql,我使用此查询来组合销售日期字段中的日期 一旦此人有3个以上的购买日期,我们运行查询,他们就根本不会出现。如果他们有两个或三个,这不是一个问题,只要他们有四个日期组合,它只是跳过所有的线一起 <?php set_time_limit(0); $server = 'localhost'; $login = 'xxxx'; $password = 'xxxx'; $db = 'opg'; $table = 'OPG'; $filename = '/home/.sites/143/site2/we

我使用此查询来组合销售日期字段中的日期

一旦此人有3个以上的购买日期,我们运行查询,他们就根本不会出现。如果他们有两个或三个,这不是一个问题,只要他们有四个日期组合,它只是跳过所有的线一起

<?php
set_time_limit(0);
$server = 'localhost';
$login = 'xxxx';
$password = 'xxxx';
$db = 'opg';
$table = 'OPG';
$filename = '/home/.sites/143/site2/web/csv/OPG.csv';

mysql_connect($server, $login, $password);
mysql_select_db($db);

$fp = fopen($filename, "w");

$query = 'SET GLOBAL group_concat_max_len=15000';

mysql_query($query);

$res = mysql_query("SELECT t1.employee_number, t1.first_name, t1.last_name
      , GROUP_CONCAT( DATE_FORMAT( t1.dates_of_purchase, '%m-%d-%y' ) SEPARATOR ' & ' ) AS Purchase_Date
      , t1.Dept, t1.Location
  FROM OPG AS t1 
  LEFT JOIN OPG AS t2 ON ( t1.employee_number = t2.employee_number
      AND t1.last_name = t2.last_name
      AND t1.QTY != t2.QTY ) 
  WHERE t1.dates_of_purchase >= '2011-01-01'  
      AND t1.QTY >=1 
      AND t2.employee_number IS NULL 
  GROUP BY t1.employee_number, t1.first_name, t1.last_name
  ORDER BY t1.employee_number
");

mysql_data_seek($res, 0);

while($row = mysql_fetch_assoc($res)) {
    $line = "";
    $comma = "opg,";
    foreach($row as $value) {
        $line .= $comma . '' . str_replace('', '', $value) . '';

        $comma = ",";
    }
    $line .= "\n";
    fputs($fp, $line);
}

fclose($fp);`
输出中缺少的数据是员工编号652561。 它不会将输出输出到CSV文件,因为某种原因,它会将其全部跳过

输出应如下所示:

opg, 652561, AJJ, FELS, 10-13-2011 & 12-08-2011 & 08-18-2011 & 06-23-2011 & 09-15-2011 , ESR, PICKERING A

它跳过了哪一行?$line.=$comma。。。在foreach里面?还是无法从查询中返回行?在foreach中,您试图用该语句格式化什么输出?请发布一个例子。嗨,Michael,我添加了数据库中的其余数据和所需的输出。在查看数据后进行更新,似乎任何数量为-1的内容都会被完全忽略,不会输出到CSV文件。知道为什么吗?
opg, 652561, AJJ, FELS, 10-13-2011 & 12-08-2011 & 08-18-2011 & 06-23-2011 & 09-15-2011 , ESR, PICKERING A