用于jQuery远程自动完成的PHP数组

时间:2012-08-09 06:24:01

标签: php jquery-ui

我正在尝试获取远程自动完成数组

$items = array(
    "PR-1001"=>"Product 1",
    "PR-1002"=>"Product 2"
);

输入自动完成建议将是PR-1001和PR-1002,并且div将根据自动完成的选择附加产品0或产品2。我尝试使用以下代码,但不能请帮助我获取上面提到的数组。

$query = "SELECT * FROM products";
$results = mysql_query($query, $connection);
confirm_query($results);
$count = mysql_num_rows($results);
while($row = mysql_fetch_array($results)) {
    $codes =array("{$row['pr_code']}");
    $names =array("{$row['pr_name']}");
        $i = 0;
        $items[$i] = "\"" . $codes[$i] ."\"=>\"" . $names[$i] ."\", ";
        $items = implode(", ", $items);
        $i++;   
    } 

我需要一个显示print_r

的php数组
Array ( [DJ-1001] => Product 1 [DJ-1002] => Product 2 )

提前谢谢。


这是答案

$items = array();
while($row = mysql_fetch_array($results)) { 
  $items[$row['pr_code']] = $row['pr_name'];
}

谢谢各位朋友!

3 个答案:

答案 0 :(得分:1)

不知道您的架构是什么样的:

$items = array();
while($row = mysql_fetch_array($results)) {
    $items[$row['pr_code']] = $row['pr_name'];
}
echo json_encode($items);

答案 1 :(得分:1)

PHP中的

您可以使用关联数组,其中键可以是整数或字符串。值可以是任何类型。鉴于您可以从查询中直接分配key=>value,然后在json中返回数组(jquery-ui自动完成它的模型,所以只需从官方文档中获取一个片段,看看它是如何工作的):

$items = array();
while($row = mysql_fetch_array($result))
    $items[$row['pr_code']] = $row['pr_name'];

echo json_encode($items);

答案 2 :(得分:1)

来自本地数据,网址或回调的数据可以有两种变体:

•一串字符串: [“Choice1”,“Choice2”]

•具有标签和值属性的对象数组: [{label:“Choice1”,值:“value1”},...]

$arr   = array();
while($row = mysql_fetch_array($results)) { 
    array_push($arr,'{ label: "' . $row['pr_code'] . '", value: "' . $row['pr_name'] . '" }'); 
}

echo "[" . implode(',',$arr) . "]";