Tôi có PHP sau đây sẽ trả về kết quả truy vấn của tôi cho tôi ở định dạng CSV, nhưng mã (hai chữ cái) trong câu lệnh LIKE như được hiển thị ở trên cùng cần phải thay đổi giữa nhiều mã khác nhau.Lặp lại MySQL này với CSV nhiều lần với các truy vấn SQL khác nhau
Tôi có khoảng 30 mã khác nhau. Tôi cần phải xác định tất cả các mã như:
CV, LC, RCA, JOR vv ...
Và có kịch bản làm cho một CSV mới cho mỗi đoạn mã khác nhau và nhanh chóng đi và xử lý mỗi người, một cái khác. Vì vậy, tôi kết thúc với 30 tập tin ví dụ. Tôi có thể cần phải làm điều này một vài lần để tự thay đổi nó 30 lần không phải là lựa chọn hàng đầu của tôi.
<?php
// database variables
$hostname = "localhost";
$user = "###";
$password = "###";
$database = "###";
$select = "select * from subscribers where list=27 and custom_fields LIKE '%\%CV\%%'";
$con = mysql_connect($hostname, $user, $password);
$db_selected = mysql_select_db($database, $con);
// Check connection
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$export = mysql_query ($select) or die ("Sql error : " . mysql_error());
$fields = mysql_num_fields ($export);
for ($i = 0; $i < $fields; $i++)
{
$header .= mysql_field_name($export , $i) . "\t";
}
while($row = mysql_fetch_row($export))
{
$line = '';
foreach($row as $value)
{
if ((!isset($value)) || ($value == ""))
{
$value = "\t";
}
else
{
$value = str_replace('"' , '""' , $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line) . "\n";
}
$data = str_replace("\r" , "" , $data);
if ($data == "")
{
$data = "\n(0) Records Found!\n";
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=list-export.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";
?>
Đặt tất cả mã của bạn vào một mảng và xem xét nó tạo truy vấn mới cho mỗi mã như bạn đi. –
@MikeW anychance bạn có thể cho tôi một ví dụ về điều này? Không chắc chắn của vòng lặp. – JordanC26
thay vì cố gắng mã nó từ đầu, bạn có thể sử dụng thư viện PHPexcel. Sẽ mất ít thời gian hơn. – stormrage