Раньше я делал динамический запрос для экспорта итоговой продукции. Но я просто могу сделать статический запрос. Мне нужен правильный запрос, после чего он может экспортировать файл на основе раскрывающегося списка, в котором указан год, начальная и конечная недели
Я использую php и mysql для запуска этой системы. Я не могу использовать тот же запрос, как для отображения всех данных. Я думаю, что я должен сделать временную переменную перед отображением всех данных, а затем использовать переменную для отображения и экспорта данных
1. Первая страница для получения ввода от пользователя и отображения
// для выпадающего года, начальной недели и конца недели
if(isset($_POST['search'])){
$searchq = $_POST['search'];
$searchq1 = $_POST['search1'];
$searchq2 = $_POST['search2'];
// запрос на отображение всех данных
$sql1 ="SELECT sum(Qtyinspect3k) as '3k', sum(Qtyinspect10k)as '10k', sum(QtyDefect)as 'reject' FROM dbo.OQAVM
WHERE Year like '%$searchq%' AND WorkWeek BETWEEN '$searchq1' AND '$searchq2' and Day = 'Saturday' group by WorkWeek order by WorkWeek";
$stmt1 = sqlsrv_query( $conn, $sql1 );
2. Экспорт данных на основе 1 кодирования, я делаю только статический запрос. Вы можете увидеть на год и рабочую неделю. я поставил год и неделю, чтобы получить данные
$setSql ="SELECT LotNo, Package,Machine,BIM,WorkWeek,ProductFamily,QtyDefect,Qtyinspect3k,Qtyinspect10k FROM dbo.OQAVMView WHERE Year like '2017' AND WorkWeek BETWEEN 'ww01' AND 'ww02' ";
$setRec = sqlsrv_query( $conn, $setSql );
if( $setRec === false)
{
die( print_r( sqlsrv_errors(), true) );
}
$columnHeader = '';
$columnHeader = "LotNumber" . "\t" ."Package" . "\t" ."Machine" . "\t" . "BIM" . "\t"."WorkWeek" . "\t" ."ProductFamily" ."\t"."QtyDefect" . "\t". "\t"."3K" . "\t"."10K" . "\t" ;
$setData = '';
$rowHeader = '';
while( $rec = sqlsrv_fetch_array( $setRec, SQLSRV_FETCH_ASSOC) ) {
$rowData = '';
foreach ($rec as $value) {
$value = '"' . $value . '"' . "\t";
$rowData .= $value;
}
$setData .= trim($rowData) . "\n";
}