Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Jquery自动完成在一行中显示mysql中的两行_Php_Jquery_Mysql_Autocomplete - Fatal编程技术网

Php Jquery自动完成在一行中显示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

我有一个多行的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_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