【问题标题】:Communicating with a DB in LimeJS在 LimeJS 中与数据库通信
【发布时间】:2013-07-08 14:18:04
【问题描述】:

将变量从数据库加载到我的游戏中的正确方法是什么?

我尝试使用 Ajax 和 Prototype 库,但这似乎不起作用。这是我所做的:

在我的主 .js 游戏文件中...

var rawVocab = new Array();
var optionVocab = new Array();

new Ajax.Request('load_vocab.php', {
    onSuccess : function(xmlhttp) {
        eval(xmlhttp.responseText);
    }
});

'load_vocab.php' 看起来像这样...

<?php

header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';

echo '<response>';

    $username = "user";
    $password = "***************";

    try {
        $conn = new PDO('mysql:host=localhost;dbname=tygrif_school', $username, $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $stmt = $conn->prepare('SELECT * FROM vocabulary_game WHERE game_type = :game_type');
        $stmt->execute(array('game_type' => 'target'));

        $i=0;
        while($row = $stmt->fetch()) {
            echo "rawVocab[".$i."]['word']='".$row['word']."';";
            echo "rawVocab[".$i."]['translation']='".$row['translation']."';";
            echo "rawVocab[".$i."]['example_sentence_1']='".$row['example_sentence_1']."';";
            $i++;
        }

        $stmt = $conn->prepare('SELECT * FROM vocabulary_game');
        $stmt->execute(array());

        $i=0;
        while($row = $stmt->fetch()) {
            echo "optionVocab[".$i."]['word']='".$row['word']."';";
            echo "optionVocab[".$i."]['translation']='".$row['translation']."';";
            echo "optionVocab[".$i."]['example_sentence_1']='".$row['example_sentence_1']."';";
            $i++;
        }
    } catch(PDOException $e) {
        echo 'ERROR: ' . $e->getMessage();
    }

echo '</response>';

?>

goog 库是否有一些内置方法来处理这个问题?

【问题讨论】:

    标签: database limejs


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-15
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多