PHP 数组用于 jQuery Remote Autocomplete


PHP array for jQuery Remote Autocomplete

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

$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'];
}

谢谢朋友们!

不知道你的架构是什么样子的:

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

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);

来自本地数据、url 或回调的数据可以有两种变体:

• 字符串数组:[ "选择1", "选择2" ]

• 具有标签和值属性的对象数组:[ { 标签: "选择1", 值: "值1" }, ... ]

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