毎月の契約が存在するかどうか、署名されているかどうかを確認する必要があります。重すぎるように見えるので、コードを改善します
PDO に切り替える時が来ました。スクリプトを高速化するためにいくつか書き直すことができるかもしれません。
基本的に、2 列のテーブルがあります。1 列目は日付参照、2013/1 月、2013/2 月... 2 列目はドキュメントが存在し、署名があるかどうかを表示します。
ここに私のコード。改善する方法はありますか?
// QUERY DB
// Get contract
$contract = array();
$query1 = mysql_query("SELECT * FROM contracts
WHERE ic_id='28'");
while ($row = mysql_fetch_assoc($query1)) {
$contract[] = $row['month'];
}
$signature = array();
$query1 = mysql_query("SELECT * FROM contracts
WHERE ic_id='28'");
while ($row = mysql_fetch_assoc($query1)) {
$signature[] = $row['sign'];
}
// Get START AND END DATE
$startYear = '2012';
$startMonth = '12';
$endYear = '2013';
$endMonth = '12';
$startDate = strtotime("$startYear/$startMonth/01");
$endDate = strtotime("$endYear/$endMonth/01");
$currentDate = $endDate;
結果表
<tbody>
<?php
while ($currentDate >= $startDate) {
$foo = date('Y-m',$currentDate);
$currentDate = strtotime( date('Y/m/01/',$currentDate).' -1 month');
?>
<tr class="grade">
<td>
<?php echo $foo; ?>
</td>
<td>
<?php
if (in_array($foo, $contract)) {
echo "<img src='images/ok.png';
} else {
echo "<img src='images/ko.png'/>";
}
if (in_array($foo, $signature)) {
echo "<img src='imagens/ok.png'/>";
} else {
echo "<img src='imagens/sign.png'/>";
}
?>
</td>
</tr>
<?php
$i++;
}
?>
</tbody>