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、キーが整数または文字列のいずれかになる連想配列を使用できます。値は任意の型にすることができます。クエリから直接割り当てを行い、 jsonkey=>valueで配列を返すことができる場合(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、またはコールバックからのデータには、次の 2 つのバリアントがあります。

• 文字列の配列: [ "Choice1", "Choice2" ]

• label プロパティと value プロパティを持つオブジェクトの配列: [ { 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 に答える