More MySQL purging
[contractdashboard.git] / search_autosuggest.php
blob:a/search_autosuggest.php -> blob:b/search_autosuggest.php
--- a/search_autosuggest.php
+++ b/search_autosuggest.php
@@ -6,10 +6,10 @@
 $limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 0;
 $aResults = array();
 $count = 0;
-if ($len) {
-    $query = 'SELECT MAX("supplierName"), MAX("supplierABN"), count(*) as count
+if ($len > 2) {
+    $query = 'SELECT text_mode("supplierName"), MAX("supplierABN"), count(*) as count
 FROM contractnotice
-WHERE "supplierName" ILIKE :supplierName
+WHERE "supplierName" ILIKE :supplierName or "supplierABN"::text = :supplierABN
 GROUP BY "supplierName"
 ORDER BY count(*) DESC
 LIMIT 4;
@@ -17,12 +17,14 @@
     $query = $conn->prepare($query);
     $supplierName = $input . '%';
     $query->bindParam(":supplierName", $supplierName);
+    $supplierABN = $input ;
+    $query->bindParam(":supplierABN", $supplierABN);
     $query->execute();
     databaseError($conn->errorInfo());
     foreach ($query->fetchAll() as $row) {
         $count++;
         $aResults[] = array(
-            "id" => "supplier-" . $row[1] . '-' . $row[0],
+            "id" => "supplier-" . $row[1] . '-' . htmlspecialchars($row[0]),
             "value" => htmlspecialchars($row[0]),
             "info" => htmlspecialchars("Supplier - " . $row['count'] . " records")
         );
@@ -44,6 +46,20 @@
             "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) @@ plainto_tsquery('english', :input)";
+    $query = $conn->prepare($query);
+    $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'])
         );
     }
 }
@@ -69,3 +85,4 @@
     echo "</results>";
 }
 ?>
+