--- a/displayCalendar.php +++ b/displayCalendar.php @@ -3,16 +3,38 @@ include_header("Months and Years"); -if ($_REQUEST['category']) { - echo "<center><h1>".$_REQUEST['category']."</h1></center>"; - $query = "SELECT CNID, description, value, agencyName, category, contractStart, supplierName - FROM `contractnotice` - WHERE childCN = 0 - AND category = '" . $_REQUEST['category'] . "' - ORDER BY value DESC"; - $result = mysql_query($query); - echo "<table>"; - while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { +if ($_REQUEST['month']) { + echo "<center><h1>".$_REQUEST['month']."</h1></center>"; +$monthParts = explode("-",$_REQUEST['month']); + $query = 'SELECT "CNID", "description", "value", "agencyName", "category", "contractStart", "supplierName" + FROM contractnotice + WHERE "childCN" = 0 + 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(); + if (!$query) { + 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> @@ -30,22 +52,38 @@ split by year todo: Year/Month drilldown - largest contracts, agencies, suppliers +count per month big picture graphs?*/ -$query = "SELECT YEAR(contractStart), MONTH(contractStart), -value FROM `contractnotice` WHERE childCN = 0 GROUP BY MONTH(contractStart), YEAR(contractStart) ORDER BY YEAR(contractStart), MONTH(contractStart) "; +echo '<img src="graphs/displayContractStartingGraph.php">'; +echo '<img src="graphs/displayContractPublishedGraph.php">'; -$result = mysql_query($query); -echo "<table>"; -while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + +$query = 'SELECT extract(year from "contractStart"), extract(month from "contractStart"), +SUM(value) as val, count(1) as count FROM contractnotice WHERE "childCN" = 0 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(); + if (!$query) { + 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["value"]),2); +$value = number_format(doubleval($row["val"]),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>"); + 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>"; mysql_free_result($result); } include_footer(); -?> +?> +