Конкатировать столбец с помощью fputcsv - PullRequest
0 голосов
/ 07 мая 2019

У меня есть программа, в которой пользователь может загрузить файл csv со всеми запрашиваемыми значениями из базы данных.Однако в одном из моих столбцов мне нужно объединить слова «Серийный номер -» и мое значение m.sr_no. Как я могу это сделать?

if(isset($_POST["Export"])){
		 
      header('Content-Type: text/csv; charset=utf-8');  
      header('Content-Disposition: attachment; filename=Sample.csv');  
      $output = fopen("php://output", "w");  
      fputcsv($output, array('SR_NO', 'MODEL', 'EWR_NO',  'BUILD_NAME',  'SA_MB', 'DESTINATION', 'REQUESTOR', 'PURPOSE', 'WAFERNUM', 
		'CELL', 'QTY', 'MATERIAL_FORM', 'SAMPLE_CRITERIA', 'REQUEST_DATE', 'SORTING_ECD', 'HGA_ECD', 'STATUS', 'UPDATED_BY', 'REMARKS'));  
     $query = "SELECT m.sr_no, a.model, m.ewr_no, m.build_name, m.sa_mb, a.destination, m.requestor, m.purpose, m.wafernum, 
				m.cell, m.qty, a.material_form, a.criteria, m.request_date, m.sorting_ecd, m.hga_ecd, m.status, m.updated_by, m.remarks, m.id_sorting, a.id_optionlist
				FROM sorting  m
				INNER JOIN dynamic_optionlist a ON m.id_sorting = a.id_optionlist 
				WHERE STATUS in ('Open','On-Going','On-Queue','Done')";
      $result = mysqli_query($conn, $query);  
      while($row = mysqli_fetch_assoc($result))  
      {  
           fputcsv($output, $row);  
      }  
      fclose($output);  
 }  

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Решение 1:

замените ваш цикл while следующим:

 while($row = mysqli_fetch_assoc($result))  
 {  
   $row['m.sr_no'] = "Serial Number-".$row['m.sr_no'];
   fputcsv($output, $row);  
 } 

Решение 2:

обновите ваш запрос как nick упомянутый:

CONCAT('Serial Number - ', m.sr_no) AS sr_no,
1 голос
/ 07 мая 2019

Вы можете выполнить конкат в своем запросе, используя функцию MySQL CONCAT:

$query = "SELECT CONCAT('Serial Number - ', m.sr_no) AS sr_no, ...";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...