0

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

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

谢谢朋友们!

4

3 回答 3

1

在不知道您的架构是什么样子的情况下:

$items = array();
while($row = mysql_fetch_array($results)) {
    $items[$row['pr_code']] = $row['pr_name'];
}
echo json_encode($items);
于 2012-08-09T06:26:51.050 回答
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);
于 2012-08-09T06:30:46.633 回答
1

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

• 字符串数组:[ "Choice1", "Choice2" ]

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

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

echo "[" . implode(',',$arr) . "]";
于 2012-08-09T06:31:18.513 回答