--- a/displayCalendar.php +++ b/displayCalendar.php @@ -1,51 +1,84 @@ <?php + include_once("./lib/common.inc.php"); 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)) { - setlocale(LC_MONETARY, 'en_US'); - $value = number_format(doubleval($row['value']) , 2); - echo ("<tr> +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" 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>"; - mysql_free_result($result); + } + echo "</table>"; } else { -/* - split by year -todo: -Year/Month drilldown - largest contracts, agencies, suppliers -big picture graphs?*/ + /* + 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)) { -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>"); -} -echo "</table>"; -mysql_free_result($result); + + $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>"; } include_footer(); -?> +?> +