Как извлечь данные из базы данных MySQL в соответствии с определенными профилями? - PullRequest
0 голосов
/ 11 октября 2019

Я настраиваю веб-приложение. Он имеет базу данных 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...