如何让javascript读取php文件的输出

时间:2010-11-25 23:24:23

标签: php javascript

首先你好,我是新来的。
我的问题是我有一个从数据库中提取信息的php文件。我将在下面发布代码。 我需要的是我的JavaScript获取输出并将其加载到生成一些闪存卡的列表中。

代码示例`$ connection = mysql_connect($ host,$ user,$ pass)或die(“无法连接!”);

// select database
mysql_select_db($db) or die ("Unable to select database!");

$ query1 =“SELECT * FROM category_tb WHERE cat_name ='$ category'”;        $ result1 = mysql_query($ query1)或die(“查询中的错误:$ query1。”。mysql_error());         while($ row = mysql_fetch_array($ result1))                {

                $cat_num = $row[1];
        }

//这建立了一个到MySQL的链接 $ query =“SELECT * FROM english_lang,finnish_lang”。 “WHERE english_lang.lang_id = finnish_lang.lang_id AND english_lang.cat_id = $ cat_num”;        $ rt = mysql_query($ query)或die(“查询中的错误:$ query。”。mysql_error());

而($ NT = mysql_fetch_array($ RT)){ echo“{\”english \“:\”$ nt [1] \“,\”finnish \“:\”$ nt [6] \“,\”问\“:states.notAsked},”;
} `

因此,这基本上获取了一些数据并将其格式化为javascript使用。 如果你想看看这个的输出,以获得更好的想法去这里 http://languagelearner.byethost2.com/vocabulary2.php
 选择前两个类别中的一个,因为它们是唯一具有数据权限的类别  现在,
  javascript是这样的:

代码示例`     

var string1;
var string2;
var number;
var states = {"oneVisible": 0, "bothVisible": 1, "notAsked": 2, "asked": 3}
var state = states.bothVisible;
var numberOfWordsAsked = 0;
var words = {"list": [


    ]
}

function displayWords(){

    if (state == states.bothVisible) {
        if (numberOfWordsAsked < words.list.length) {
            state = states.oneVisible;
            number = Math.floor(Math.random() * words.list.length);
            while (words.list[number].asked == states.asked) {
                number = Math.floor(Math.random() * words.list.length);
            }
            string1 = words.list[number].english;
            string2 = words.list[number].finnish;
            document.getElementById("fin").style.display = 'none';
            document.getElementById("eng").innerHTML = words.list[number].english;
            document.getElementById("fin").innerHTML = words.list[number].finnish;
            document.getElementById("b").value = "Show word";
            document.getElementById("correct").style.display = 'none';
        }
        else {
            document.getElementById("eng").innerHTML = "You know all the words in this category, congratulations!";
            document.getElementById("fin").style.display = 'none';
            document.getElementById("b").style.display = 'none';
            document.getElementById("correct").style.display = 'none';
        }
    }

    else {
        document.getElementById("fin").style.display = 'inline';
        state = states.bothVisible;
        document.getElementById("b").value = "Wrong";
        document.getElementById("correct").style.display = 'inline';
    }
}

function setCorrect(){
    words.list[number].asked = states.asked;
    numberOfWordsAsked += 1;
    displayWords();
}

//-->
</script>

`

所以输出需要进入这里   var words = {“list”:[
     ]

任何帮助将不胜感激。我没有写javascript,朋友也没有  他在列表中使用了静态信息。

2 个答案:

答案 0 :(得分:4)

尝试AJAX。查看http://www.w3schools.com/PHP/php_ajax_database.asp

var ajax = new XMLHttpRequest();
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
 alert(ajax.responseText);
}
};
ajax.open("GET", "ajax.php", true);
ajax.send(null);

在与php文件ajax.php相同的目录中输出“hello world”:

<php

echo 'hello Word!';

?>

答案 1 :(得分:0)

要将php数据结构放入javascript可以解析的内容中,请使用json_encode。这应该足以帮助你了解。