これで私を助けてくれることを願っています。
私はまだ PHP を学んでいて、ループを作ろうとして行き詰まっているので、Dreamweaver を使ってコードを書いています。
Course Provider's Table と Invoices Table があります。
私がやろうとしていること:
請求表でコース プロバイダー ID を確認してください - 存在する場合 - 前月の日付を確認します - 存在する場合 - 何も挿入しないでください。
コース提供者の ID と先月の日付を含むレコードがない場合は、レコードを挿入します。
ページを初めて更新したときに機能するコードは次のとおりですが、日付を先月の日付以外に変更して再度更新すると、レコードが既に存在していても追加され続けます。
私の乱雑なコードを許してください:
mysql_select_db($database_dbconnect, $dbconnect);
$query_rs_get_cps = "SELECT tl_course_providers.cp_id FROM tl_course_providers ";
$rs_get_cps = mysql_query($query_rs_get_cps, $dbconnect) or die(mysql_error());
$row_rs_get_cps = mysql_fetch_assoc($rs_get_cps);
$totalRows_rs_get_cps = mysql_num_rows($rs_get_cps);
$invoiceDate = date("Y-m-d",strtotime("-1 months"));
$dueDate = date("Y-m-d",strtotime("+1 months"));
do{
$cpid = $row_rs_get_cps['cp_id'];
$cpid_rs_get_invoices = "-1";
if (isset($cpid)) {
$cpid_rs_get_invoices = $cpid;
}
mysql_select_db($database_dbconnect, $dbconnect);
$query_rs_get_invoices = sprintf("SELECT * FROM tl_invoices WHERE tl_invoices.fk_cp_id = %s", GetSQLValueString($cpid_rs_get_invoices, "int"));
$rs_get_invoices = mysql_query($query_rs_get_invoices, $dbconnect) or die(mysql_error());
$row_rs_get_invoices = mysql_fetch_assoc($rs_get_invoices);
$totalRows_rs_get_invoices = mysql_num_rows($rs_get_invoices);
if($row_rs_get_invoices['invoice_date'] != $invoiceDate)
{
// for testing
echo "CP Table: ".$cpid."<br />";
echo "Invoice Table: ".$row_rs_get_invoices['fk_cp_id']."<br />";
$insertSQL = sprintf("INSERT INTO tl_invoices (fk_cp_id, invoice_date, due_date, total, invoice_status) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($row_rs_get_cps['cp_id'], "int"),
GetSQLValueString($invoiceDate, "date"),
GetSQLValueString($dueDate, "date"),
GetSQLValueString('0', "text"),
GetSQLValueString('Due', "text")
);
mysql_select_db($database_dbconnect, $dbconnect);
$Result1 = mysql_query($insertSQL, $dbconnect) or die(mysql_error());
}else{
break;
}
}while($row_rs_get_cps = mysql_fetch_assoc($rs_get_cps));