Mysql 查询中缺少数据
我使用此查询来组合销售日期字段中的日期 一旦此人有3个以上的购买日期,我们运行查询,他们就根本不会出现。如果他们有两个或三个,这不是一个问题,只要他们有四个日期组合,它只是跳过所有的线一起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
<?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