0

私はstackoverflowにこのようなトピックがたくさんあることに気づきましたが、私が読んだものは1つの変数だけで、2つあり、少し混乱しています。

これが私のコードです

$query = mysql_query("SELECT Provider.provider_id, provider.company_name FROM Provider");

while($row = mysql_fetch_array($query)){
    echo "'".$row['provider_id']."':'".$row['company_name']."',";

}

これを使用して、JeditableのJavaScriptコードを生成しています。

最後のコンマを削除する必要があるので、残りのコードでまとめることができます...

4

3 に答える 3

3

私は配列を使うのが好きです:

$query = ...;
$out = Array();
while($row = mysql_fetch_assoc($query)) {
    $out[] = "'".$row['provider_id']."':'".$row['company_name']."'";
}
echo implode(",",$out);

ただし、ある種のJSONを出力しようとしているように見えるので、次のように使用できます。

$query = ...;
$out = Array();
while($row = mysql_fetch_assoc($query)) {
    $out[$row['provider_id']] = $row['company_name'];
}
echo json_encode($out);
于 2012-11-26T17:56:50.367 に答える
2

だから私は通常、このようなものを配列にスタックしてから、内包します:

$parts = array();
while($row = mysql_fetch_array($query)){
    $parts[] =  "'".$row['provider_id']."':'".$row['company_name']."'";

}

echo implode(',', $parts);

つまり、JSON文字列の本文を出力しているように見えます。その場合、手動でビルドするべきではなく、json_encode代わりに使用する必要があります。

$data = array();
while($row = mysql_fetch_array($query)){
    $data[$row['provider_id']] = $row['company_name'];

}

echo json_encode($data);
于 2012-11-26T17:56:28.050 に答える
1
$query = mysql_query("SELECT Provider.provider_id, provider.company_name FROM Provider");
$result = "";
while($row = mysql_fetch_array($query)){
    $result .= "'".$row['provider_id']."':'".$row['company_name']."',";
}
$result = rtrim($result, ',');

また

$query = mysql_query("SELECT Provider.provider_id, provider.company_name FROM Provider");
$result = array;
while($row = mysql_fetch_array($query)){
    $result[] = "'".$row['provider_id']."':'".$row['company_name']."',";
}
$result = implode(',' $result);

また

レコード数を取得し(mysql_num_rows($query))、最後の行に到達したら、必要な操作を実行します

于 2012-11-26T17:56:01.783 に答える