2015-08-18 2 views
0

Я должен следовать следующему коду, когда он запускается, он будет дублировать пустые строки или он будет дублировать другие строки, которые полны данных, и я понял, почему?php-код дублирует строки при экспорте в excel

$filename = date("Y-m-d_g-i-a");  

// output headers so that the file is downloaded rather than displayed 
header('Content-Type: text/csv; charset=utf-8'); 
header('Content-Disposition: attachment; filename="'.$filename.'.csv"'); 

// create a file pointer connected to the output stream 
$output = fopen('php://output', 'w'); 

// output the column headings 
fputcsv($output, array('ID', 'P.O #', 'Date', 'To', 'Time', 'Vin', 'Reason', 'Amount', 'Employee #', 'Mananger', 'Account #', 'Store Location', 'Borrowed', 'verified','Adjustment','Adjustment by','','VOID','Emp Name')); 

// fetch the data 
mysql_connect('******', '*******', '******'); 
mysql_select_db('********'); 
$rows = mysql_query('SELECT fpo.*, users.name FROM fpo LEFT OUTER JOIN users ON (fpo.empnum = users.empnum)'); 

// loop over the rows, outputting them 
while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row); 
+4

Вы подтвердили, что ваш запрос возвращает правильные результаты в первую очередь? –

+0

Да, он работает правильно. –

ответ

0

Поскольку вы используете LEFT OUTER JOIN вы получите больше, чем одну строку в ваш результат, если один из этих условий:

The values in table fpo, column empnum are not unique 
The values in table users, column empnum are not unique 

Вы можете Propably исправить это changeing запрос на что-то вроде это:

SELECT fpo.*, users.name 
FROM fpo 
LEFT OUTER JOIN users 
ON (fpo.empnum = users.empnum)') 
GROUP BY users.name 
; 

Но без получения дополнительной информации о ваших данных это угадывание только ...

+0

Вышеприведенный код не работает. Теперь я получаю белую страницу без ошибок. Какие еще данные вам нужны? –

+0

Какая ошибка у вас? Должен быть какой-то файл журнала ... – Benvorth

+0

Является ли одно из условий, которые я упомянул для ваших данных? – Benvorth

Смежные вопросы