2017-09-12 38 views
0

我正在研究一個瑣事遊戲,需要更新JavaScript代碼以從數據庫檢索數據,並將數據傳遞給變量。但我不知道從哪裏開始進行改變。我最好的猜測是實現php代碼來與數據庫進行交互並檢索數據。如何從數據庫檢索數據並將其傳遞給JavaScript中的變量?

我的代碼的當前迭代使用內部陣列來創建問題元素

var questions = [{ 
        question: "Which list contains words that are NOT names of shoe types?", 
        choices: [ "A. Oxford, jelly, boat, clogs, stiletto, mary jane", 
           "B. Loafer, gladiator, wedge, mule, platform", 
           "C. Pump, moccasin, wingtip, sneaker, derby, monk", 
           "D. Chalupa, dogler, hamster, croonley, frankfurt", 
          ], 
        correctAnswer: 3 
       } 
       //the array contains ten of these objects 
       ]; 

的數據庫中的JavaScript代碼將從被編碼爲這樣retreive變量和值:

Insert into TriviaQuestions(id,questionNum,question,option1,option2, 
          option3,option4,option5,option6,questionAnswer) 
Values('1','1','Which list contains words that are NOT names of shoe types:', 
' A. Oxford, jelly, boat, clogs, stiletto, mary jane', 
' B. Loafer, gladiator, wedge, mule, platform', 
' C. Pump, moccasin, wingtip, sneaker, derby, monk', 
' D. Chalupa, dogler, hamster, croonley, frankfurt', 
'', 
'', 
'3') 
; 
    //there are ten questions like these 
+0

你需要服務器端代碼和AJAX。 – SLaks

+1

如果您只是在加載時需要javascript中的數據(而不是無刷新地檢索內容),那麼您可以在JavaScript代碼部分中回顯php數據。 – FirstOne

+0

偶然的情況下,你能否鏈接到正在執行此操作的代碼示例? – Duraigo

回答

0

使用任何主要的庫(JQuery)向服務器端腳本(用php,python等寫成)發出ajax請求。 舉例:

function send_request(question){ 
    $.post("ajax.php",{send_question: question},success:function(result){ 
    question = result.new_question; 
}); 
} 
0

您正在尋找的解決方案是AJAX。

JavaScript是一種客戶端技術。這意味着無論它能做什麼,你的客戶都可以做到。如果您要直接訪問數據庫,訪問者可以直接訪問數據庫,而這不是您想要發生的事情。您可能還想記住,您的訪問者可以看到您在JavaScript中發送的所有代碼,並且可以任意編輯它。

相反,您希望編寫大部分代碼,包括數據庫連接,甚至是要回答的問題,以便在服務器上處理,可能使用PHP。

AJAX僅僅意味着讓您的JavaScript向您的PHP發送POST請求以獲取其更新,以便您可以更新瀏覽器上的實時頁面。

您應該有一個PHP腳本,它接受請求併發送少量數據與JavaScript進行交談。

如果您想更進一步,您可以在PHP中設置一個會話變量,它可以保存會話的所有數據。 JavaScript的可以問PHP腳本得到一個新的問題,然後可以要求它來檢查答案等

這裏有一篇文章,應該可以幫助您開始:

https://www.w3schools.com/php/php_ajax_database.asp

這篇文章似乎是一個好的,快速引入PHP會話:

https://www.tutorialrepublic.com/php-tutorial/php-sessions.php

相關問題