--- a/displayCalendar.php +++ b/displayCalendar.php @@ -1,28 +1,90 @@ <?php + include_once("./lib/common.inc.php"); -/* - split by year - */ -/* -todo: -Year/Month drilldown - largest contracts, agencies, suppliers -big picture graphs?*/ + +if ($_REQUEST['month']) { + $monthParts = explode("-", $_REQUEST['month']); + $year = $monthParts[1]; + $month = $monthParts[0]; + $monthName = date("F Y", mktime(0,0,0,$month,1,$year)); + + include_header($monthName); + echo "<center><h1>" . $monthName . "</h1></center>"; + + $query = 'SELECT "CNID", "description", "value", "agencyName", "category", "contractStart", "supplierName" + FROM contractnotice + WHERE "childCN" is null + AND extract(year from "contractStart") = :year + AND extract(month from "contractStart") = :month + ORDER BY value DESC'; + $query = $conn->prepare($query); + $query->bindParam(":month", $monthParts[0]); + + $query->bindParam(":year", $monthParts[1]); + $query->execute(); + databaseError($conn->errorInfo()); + + //MethodCountGraph($supplier); + //CnCGraph($supplier); + + echo "<table> <thead> + <tr> + <th>Contract Notice Number</th> + <th>Contract Description</th> + <th>Total Contract Value</th> + <th>Agency</th> + <th>Contract Start Date</th> + <th>Supplier</th> + </tr> + </thead>"; + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row['value']), 2); + echo ("<tr> + <td><a href=\"displayContract.php?CNID={$row['CNID']}\">{$row['CNID']}</a></td> + <td><b>{$row['description']}</b></a></td> + <td>\$$value</td><td>{$row['agencyName']}</td> + <td>{$row['contractStart']}</td> + <td>{$row['supplierName']}</td> + </tr>"); + } + echo "</table>"; +} else { + /* + split by year + todo: + Year/Month drilldown - largest contracts, agencies, suppliers + count per month + big picture graphs? */ include_header("Months and Years"); -$query = "SELECT YEAR(contractStart), MONTH(contractStart), -value FROM `contractnotice` WHERE childCN = 0 GROUP BY MONTH(contractStart), YEAR(contractStart) ORDER BY YEAR(contractStart), MONTH(contractStart) "; -$result = mysql_query($query); -echo "<table>"; -while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { -setlocale(LC_MONETARY, 'en_US'); -$value = number_format(doubleval($row["value"]),2); -$month_name = date( 'F', mktime(0, 0, 0, $row[1]) ); - echo ("<tr><td><b>$month_name {$row[0]}</b></td><td>\$$value</td></tr>"); + ContractStartingGraph(); + ContractPublishedGraph(); + + + $query = 'SELECT extract(year from "contractStart"), extract(month from "contractStart"), +SUM(value) as val, count(1) as count FROM contractnotice WHERE "childCN" is null GROUP BY extract(year from "contractStart"), extract(month from "contractStart") ORDER BY extract(year from "contractStart"), extract(month from "contractStart") '; + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + + echo "<table> <thead> + <tr> + <th>Month/Year</th> + <th>Total Contracts Value</th> + <th>Number of Contracts</th> + </tr> + </thead>"; + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row["val"]), 2); + $month_name = date('F', mktime(0, 0, 0, $row[1])); + echo ("<tr><td><b><a href=\"?month=$row[1]-$row[0]\">$month_name {$row[0]}</a></b></td><td>\$$value</td><td>({$row['count']} contracts)</td></tr>"); + } + echo "</table>"; } -echo "</table>"; -mysql_free_result($result); - include_footer(); -?> +?> +