2017-01-29 2 views
1

Hallo Ich habe versucht, Auto-Complete-Suche von Unternehmen oder Unterkategorien in Datenbankbasis auf ausgewählten Stadt Namen zu erstellen, aber es scheint nicht für mich arbeiten. Kann mir jemand helfen? unten ist mein Code:Autocomplete-Suche Basis auf Stadt und Ort

<script> 
    $(function() { 
    $("#companies").autocomplete({ 
     source: 'companies.php' 
    }); 
    }); 
    </script> 
+0

Was Sie in Ihrer Konsole sehen? –

Antwort

0

zum automatischen Vervollständigung Methode pass "Ausdruck" als Standardschlüssel:

include("dbconnect.php"); 
$q = strtolower($_GET['q']); 
$city = intval($_GET['city_val']); 
if ($city != "-1") 
{ 
    if (!$q) 
    { 
    } 
    else 
    { 
     $query = "SELECT DISTINCT concat(listing.company_name,' (',locality.locality,')') as name,listing.id as id,listing.type as type FROM listing,locality where listing.locality=locality.id AND listing.city='{$city}' AND LCASE(company_name) like '%".{$q}."%' UNION select DISTINCT sub_cat_name as name,subcategory.id as id,subcategory.type as type FROM subcategory where LCASE(sub_cat_name) like '%".{$q}."%' order by name"; 
    } 
} 
else 
{ 
    if (!$q) 
    { 
    } 
    else 

     $query = "SELECT DISTINCT concat(listing.company_name,'<br>(',locality.locality,' ',city.city,' ',state.statename,')') as name,listing.id as id,listing.type as type FROM listing,locality,city,state where listing.locality=locality.id AND listing.city=city.id AND listing.state=state.id AND LCASE(company_name) LIKE '%".{$q}."%' UNION select DISTINCT sub_cat_name as name,subcategory.id as id,subcategory.type as type FROM subcategory where LCASE(sub_cat_name) LIKE '%".{$q}."%' order by name"; 
    } 
} 
$results = mysql_query($query); 

while ($result = mysql_fetch_array($results)) 
{ 

    $array[] = array('name'=>$result['name'], 'id'=>$result['id'], 'type'=> $result['type']) ; 
} 
echo json_encode($array); 

Sie können auch unter meinem jQuery-Code sehen. Also, wenn Sie führen bekommen möchten, müssen Sie dies tun:

$q = strtolower($_GET['term']); 

Wenn Sie es dann Ajax verwenden anpassen möchten.

sehen:

Can the default "Term" name passed in the "jquery UI autocomplete" feature be changed?