--- a/search_autosuggest.php
+++ b/search_autosuggest.php
@@ -1,62 +1,86 @@
prepare($query);
+ $supplierName = $input . '%';
+ $query->bindParam(":supplierName", $supplierName);
+ $query->execute();
+ databaseError($conn->errorInfo());
+ foreach ($query->fetchAll() as $row) {
+ $count++;
+ $aResults[] = array(
+ "id" => "supplier-" . $row[1] . '-' . $row[0],
+ "value" => htmlspecialchars($row[0]),
+ "info" => htmlspecialchars("Supplier - " . $row['count'] . " records")
+ );
+ }
+ $query = 'SELECT MAX("agencyName"), count(*) as count
+FROM contractnotice
+WHERE "agencyName" ILIKE :agencyName
+GROUP BY "agencyName"
ORDER BY count DESC
-LIMIT 4;
-";
- $result = mysql_query($query);
- while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
- $count++;
- $aResults[] = array(
- "id" => "supplier-".$row['supplierABN'].'-'.$row['supplierName'],
- "value" => htmlspecialchars($row['supplierName']) ,
- "info" => htmlspecialchars("Supplier - ". $row['count']." records")
- );
- }
- $query = "SELECT agencyName, count(*) as count
-FROM `contractnotice`
-WHERE agencyName LIKE '$input%'
-GROUP BY agencyName
-ORDER BY count DESC
-LIMIT 4;";
- $result = mysql_query($query);
- while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
- $count++;
- $aResults[] = array(
- "id" => "agency-".$row['agencyName'],
- "value" => htmlspecialchars($row['agencyName']) ,
- "info" => htmlspecialchars("Government Agency - ". $row['count']." records")
- );
- }
+LIMIT 4;';
+ $query = $conn->prepare($query);
+ $agencyName = $input . '%';
+ $query->bindParam(":agencyName", $agencyName);
+ $query->execute();
+ databaseError($conn->errorInfo());
+ foreach ($query->fetchAll() as $row) {
+ $count++;
+ $aResults[] = array(
+ "id" => "agency-" . $row[0],
+ "value" => htmlspecialchars($row[0]),
+ "info" => htmlspecialchars("Government Agency - " . $row['count'] . " records")
+ );
+ }
+ $query = "SELECT \"CNID\", description, value FROM contractnotice
+WHERE to_tsvector('english', description) @@ plaintoto_tsquery('english', :input)";
+ $query = $conn->prepare($query);
+ $agencyName = $input . '%';
+ $query->bindParam(":input", $input);
+ $query->execute();
+ databaseError($conn->errorInfo());
+ foreach ($query->fetchAll() as $row) {
+ $count++;
+ $aResults[] = array(
+ "id" => "cnid-" . $row[0],
+ "value" => htmlspecialchars($row['description']),
+ "info" => htmlspecialchars("Contract Notice - Value ".$row['value'])
+ );
+ }
}
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
if (isset($_REQUEST['json'])) {
- header("Content-Type: application/json");
- echo "{\"results\": [";
- $arr = array();
- for ($i = 0;$i < count($aResults);$i++) {
- $arr[] = "{\"id\": \"" . $aResults[$i]['id'] . "\", \"value\": \"" . $aResults[$i]['value'] . "\", \"info\": \"\"}";
- }
- echo implode(", ", $arr);
- echo "]}";
+ header("Content-Type: application/json");
+ echo "{\"results\": [";
+ $arr = array();
+ for ($i = 0; $i < count($aResults); $i++) {
+ $arr[] = "{\"id\": \"" . $aResults[$i]['id'] . "\", \"value\": \"" . $aResults[$i]['value'] . "\", \"info\": \"\"}";
+ }
+ echo implode(", ", $arr);
+ echo "]}";
} else {
- header("Content-Type: text/xml");
- echo "";
- for ($i = 0;$i < count($aResults);$i++) {
- echo "" . $aResults[$i]['value'] . "";
- }
- echo "";
+ header("Content-Type: text/xml");
+ echo "";
+ for ($i = 0; $i < count($aResults); $i++) {
+ echo "" . $aResults[$i]['value'] . "";
+ }
+ echo "";
}
?>