このスレッドでは、ほとんどの人が知っているように、forループとifステートメントを使用してバルクSMSを送信する際に問題がありました。しかし、私は以下のように質問を減らしました。私は、私はそれを行っている方法は、私は同じページで上記のコードは、各可能な免疫化のために4回繰り返されているあるPHPは指定されたすべてのステートメントを実行していません
$getnumbers="SELECT
guardian_records.First_Name,
guardian_records.ID,
guardian_records.Cellphone_Number,
children_records.Child_First_Name,
children_records.Guardian_ID,
children_records.ID,
immunization_records.child_ID,
immunization_records.First_Immunization_Date,
FROM
guardian_records,
children_records,
immunization_records
WHERE
guardian_records.ID = children_records.Guardian_ID
AND children_records.ID = immunization_records.child_ID
AND immunization_records.First_Immunization_Date = CURDATE()";
$check = mysql_query($getnumbers);
$found = mysql_num_rows($check);
$details=mysql_fetch_assoc ($check);
$date1=$details['First_Immunization_Date'];
$todays_date = date("Y-m-d");
$today = strtotime($todays_date);
$immunization_date1 = strtotime($date1);
if($immunization_date1 == $today)
for($counter=0;$counter<$found;$counter++)
{
$date = $date1;
$shots = "Polio and Diptheria";
$cellphonenumber=$details['Cellphone_Number'];
$childname=$details['Child_First_Name'];
$parentname=$details['First_Name'];
$msg="Dear $parentname, your child $childname is due for $shots shots on $date which is today. Message sent by Maisha Reminder System";
$encmsg=urlencode($msg);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://localhost:13013/cgi-bin/sendsms?username=Maisha&password=m123456&to=$cellphonenumber&text=$encmsg");
curl_exec ($ch);
curl_close ($ch);
}
}
を使用しての、各予防接種の日のためのクエリを繰り返しています。しかし、PHPは文全体を実行しません。最初のスタックだけが停止します。たとえば上記のコード例を使用すると、このビットのみが実行され、残りのコードは上記のものとまったく同じです。
PHPが指定されたすべてのステートメントを確実に実行する方法はありますか?条件が満たされている場合、FORループまたはIFステートメントはすべてのステートメントの実行を防ぎますか?すべての助けに感謝します。
1人の保護者が複数の予防接種IDを持っている可能性があります。あなたは、すべての予防接種IDを含む保護者1人のメッセージしか送信しないようにしたいと思いますか? – dmcnelis