我正在尝试获取远程自动完成数组
$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) . "]";