Я настраиваю веб-приложение. Он имеет базу данных mysql с около 50 000 записей, содержащих информацию, такую как имя, номер контакта, идентификационный номер и т. Д. Мой клиент должен иметь возможность извлекать данные из базы данных MySQL в соответствии с выбором из выпадающих списков, например, диапазон дат, имеет ли человекИдентификационный номер в базе данных, есть ли у человека адрес электронной почты, пол, если клиент был продан конкретный продукт и т. д. Так в основном профилирование данных. На данный момент мне кажется, что мне понадобятся сотни отдельных запросов в моем PHP-коде, чтобы можно было учесть все сценарии выбора. Может кто-нибудь, пожалуйста, помогите с лучшим способом сделать это
$query = "SELECT First_Name, Last_Name, Primary_Number, Alternative_Number, RSA_ID, Primary_Email, Product_1, Product_1_Submit_Client, Product_1_Reply_Date_Time, Product_1_SMS_Reply, Product_2, Product_2_Submit_Client, Product_2_Reply_Date_Time, Product_2_SMS_Reply, Product_3, Product_3_Submit_Client, Product_3_Reply_Date_Time, Product_3_SMS_Reply, Product_4, Product_4_Submit_Client, Product_4_Reply_Date_Time, Product_4_SMS_Reply
FROM LEADS_DEV
where DATE(`Product_1_Reply_Date_Time`) BETWEEN '$date1' AND '$date2'
AND Dataset LIKE '%$dataset%'
AND `Product_1` LIKE '%$product%'
AND `RSA_ID` LIKE '%$HasID%'
AND `Primary_Email` LIKE '%$HasEmail%'
AND `Product_1_SMS_Reply` LIKE '%$SMSReply%'";
if (!$result = mysqli_query($conn, $query)) {
exit(mysqli_error($conn));
}
$export = array();
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$export[] = $row;
}
}
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=Report.csv');
$output = fopen('php://output', 'w');
fputcsv($output, array('First_Name', 'Last_Name', 'Primary_Number', 'Alternative_Number', 'RSA_ID', 'Primary_Email', 'Product_1', 'Product_1_Submit_Client', 'Product_1_Reply_Date_Time', 'Product_1_SMS_Reply', 'Product_2', 'Product_2_Submit_Client', 'Product_2_Reply_Date_Time', 'Product_2_SMS_Reply', 'Product_3', 'Product_3_Submit_Client', 'Product_3_Reply_Date_Time', 'Product_3_SMS_Reply', 'Product_4', 'Product_4_Submit_Client', 'Product_4_Reply_Date_Time', 'Product_4_SMS_Reply', "'.$message_query.'"));
if (count($export) > 0) {
foreach ($export as $row) {
fputcsv($output, $row);
}
}