我有一個php循環,用於查詢數據庫併發送電子郵件給羣組。在這個例子中,它返回兩行。PHP array保留循環中的舊值
問題是它包含第二次運行中第一次運行的結果。
我的代碼:
$query = mysql_query("SELECT * FROM tasks WHERE DATE(`show_date`) = ( CURDATE() - INTERVAL 1 DAY) AND drive_folder_empty = 'empty' AND drive_folder IS NOT NULL;");
while ($row = mysql_fetch_assoc($query)){
if (!empty($row['robert'])){$robert_email = "robert email"; $robert_phone = "robert phone";}
if (!empty($row['duncan'])){$duncan_email = "duncan email"; $duncan_phone = "duncan phone";}
if (!empty($row['mike'])){$mike_email = "mike email"; $mike_phone = "mike phone";}
if (!empty($row['james'])){$james_email = "james email"; $james_phone = "james phone";}
$email_array = array($robert_email, $duncan_email, $mike_email, $james_email);
$filtered_email = array_filter($email_array);
print_r($filtered_email);
$mail_to = implode(', ', $filtered_email);
$phone_array = array($robert_phone, $duncan_phone, $mike_phone, $james_phone);
$filtered_phone = array_filter($phone_array);
$cc = implode(', ', $filtered_phone);
if (!empty($mail_to))
sendEmail($mail_to, $drive_url, $date_of_show, $cc);
}
}
結果從數據庫:
ID EID drive_folder drive_folder_name drive_folder_empty duncan robert mike james partners_name completed_form all_forms_in priority ask_for_review blog_status bloggers_email todays_date show_date
20 2457 drive url drive name empty Duncan Robert NULL NULL NULL n n NULL NULL NULL NULL 2017-04-24 2017-04-29
21 2468 drive url drive name empty NULL NULL Mike James NULL n n NULL NULL NULL NULL 2017-04-24 2017-04-29
會發生什麼:
Array
(
[0] => robert email
[1] => duncan email
)
Array
(
[0] => robert email
[1] => duncan email
[2] => mike email
[3] => james email
)
我希望發生的
爲什麼保留在第二次運行以前的值?
你的數組名是什麼?我的意思是你打印哪個數組? – manian
@manian print_r($ filtered_email); – osakagreg
對不起,我找到了答案併發布了一個答案 – manian