Php Jquery自动完成在一行中显示mysql中的两行
我有一个多行的mysql表Php Jquery自动完成在一行中显示mysql中的两行,php,jquery,mysql,autocomplete,Php,Jquery,Mysql,Autocomplete,我有一个多行的mysql表 ID, country, city, region 我有一个使用jquery ui autocomplete的搜索,它目前自动完成城市搜索,如下所示: if (isset($_GET['term'])){ $return_arr = array(); try { $conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASS
ID, country, city, region
我有一个使用jquery ui autocomplete的搜索,它目前自动完成城市搜索,如下所示:
if (isset($_GET['term'])){
$return_arr = array();
try {
$conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT city,country FROM location WHERE city LIKE :term LIMIT 10');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = $stmt->fetch()) {
$return_arr[] = $row['city'];
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
echo json_encode($return_arr);
}
我想显示城市旁边的国家,因此
洛杉矶
将成为美国洛杉矶
在php中,您可以使用“.”添加字符串。例如:
$mystring = 'part one' . 'part two';
echo $mystring; //-> will product: part onepart wo
您还可以让php将字符串解释为用''(双引号)分隔的字符串
下面的应该可以。祝你好运
if (isset($_GET['term'])){
$return_arr = array();
try {
$conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT city,country FROM location WHERE city LIKE :term LIMIT 10');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = $stmt->fetch()) {
$return_arr[] = $row['city'] . ', ' . $row['country'];
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
echo json_encode($return_arr);
}
解决这个问题的另一种方法是在SQL中追加字符串
SELECT CONCAT(city, ', ', country) AS location FROM location WHERE city LIKE :term LIMIT 10
真的吗?无法处理基本的字符串操作?
$arr[]=“{$row['city']},{$row['country']}”
真的吗?回答时不带讽刺意味吗?你可以使用$return\u arr[]=$row['city'].”、“$row['country'];我没有意识到这是一个简单的,无论如何,多个有效选项的好答案,我会记住这些。谢谢!有没有办法,当在自动完成中单击某个内容时,它不会将、Countrycode
添加到文本字段?您可以处理自动完成或提前键入实现。Assumi如果你正在使用其中的一个,很可能最好创建一个新的帖子,详细说明你想要实现的目标。
SELECT CONCAT(city, ', ', country) AS location FROM location WHERE city LIKE :term LIMIT 10