2014-01-16 13 views
0

DB關聯陣列被設置爲這樣:添加鍵值對到PHP從數據庫

enter image description here

include 'php/DbConnect.php'; 
$sql = $mysqli->query(
"SELECT t.*, v.* 
FROM task t 
INNER JOIN vocabtask vt ON (t.id = vt.taskid) 
INNER JOIN vocab v ON (v.id = vt.vocabid) 
WHERE vt.taskid = 1"); 
$wordsArray = array(); 


while ($row = $sql->fetch_assoc()) { 

    // echo "<br> " . $row['taskname'] . ": ". $row['chinese'] . " : " . $row['english']; 
    $wordsArray['chinese']['english'] = $row['chinese']; 
    echo $wordsArray['chinese']['english']; 
} 
mysqli_close($mysqli); 

輸出:Ni Ta Wo

希望的輸出:Ni: YouTa: HimWo: I

我希望將中文單詞(關鍵字)和相關的英文翻譯(值)加載到工作中dsArray,但不知道要加載和訪問的正確語法。

謝謝

+0

以及第一告訴我們哪裏是關鍵,你有他們的分貝? – PRAISER

+0

@PRAISER編輯上面 – Growler

回答

1

也許你想要這樣嗎?它將一個方向(中文和英文)映射到一起,但據我所知,沒有一種很好的雙向映射方法。 (通常我使用兩個映射來做到這一點。)編輯:看起來這是你想要的方向,根據你的編輯。

+0

謝謝。我會如何迴應k v對? – Growler

+0

其實'echo「
」.key($ wordsArray)。 「:」。 $ wordsArray [$ row ['chinese']];'只輸出相同的'Ni'作爲每個唯一英文值的鍵 – Growler

+0

哦,輸出:'echo $ row ['chinese']。 「:」。 $ wordsArray [$ row ['chinese']];'沒有更直接的方法來確保鍵是正確的,所以我在我的示例中放了一個var_dump,它可以顯示assoc的結構。陣列。 –

0
$json = array(); 
foreach (...) { 
    $json[$row['chinese']] = $row['english'] 
} 

$return_result = json_encode($json); 

echo $return_result; 

你可以搶返回值與jQueryjQuery.parseJSON()用/解析它作爲JSON沒有Ajax。

更新,如果你不想分析與阿賈克斯的數據只是一個script標籤內的結果添加到頁面就像

<script type="text/javascript"> 
(function($){ 
    var data = '<?php echo $return_result; ?>'; 
    var json = $.parseJSON(data); 
    console.log(json); 
})(jQuery); 
</script>