簡體   English   中英

如何使用PHP將鍵:值對從SQL分配給JavaScript對象?

[英]How to assign key:value pairs from SQL to JavaScript Object using PHP?

我在SQL數據庫中有以下數據

cname, ccode, colour
Great Britain, GB, 1
Italy, IT, 1
France, FR, 1
Spain, ES, 1

如何創建如下的JavaScript對象?

var countries = {"GB":1, "IT":1, "FR":1, "ES":1}

到目前為止,我有以下代碼;

PHP

$query2 = "SELECT ccode,colour FROM country_data WHERE 1";
$result2 = mysql_query($query2);
if (!$result2) {
  die('Invalid query: ' . mysql_error());
}

$rows2 = array();
  while($r2 = mysql_fetch_assoc($result2)) {
     $rows2[] = $r2;
}

JS

var colours = '<?php print json_encode($rows2); ?>';

哪個回報:

[{"ccode":"GB","colour":"1"},{"ccode":"IT","colour":"1"},{"ccode":"FR","colour":"1"},{"ccode":"ES","colour":"1"}]

更改此代碼

while($r2 = mysql_fetch_assoc($result2)) {
     $rows2[] = $r2;
}

到這一個:

while($r2 = mysql_fetch_assoc($result2)) {
     $rows2[$r2['ccode']] = $r2['colour'];
}

更改PHP代碼,如其他人的答案,也應該是這樣

$rows2 = array();
while($r2 = mysql_fetch_assoc($result2)) {
     $rows2[$r2['ccode']] = $r2['colour'];
}

如果它不起作用,那么試試這個:

$rows2 = array();
while($r2 = mysql_fetch_assoc($result2)) {
     $rows2["'".$r2['ccode']."'"] = $r2['colour'];
}

如果它也不起作用,那么試試這個:

$rows2 = array();
while($r2 = mysql_fetch_assoc($result2)) {
     $rows2[{$r2['ccode']}] = $r2['colour'];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM