我似乎遇到了一些麻烦。 PHP部分似乎运行良好,但我似乎无法将信息传递给JS部分。这是我现在拥有的:
<!DOCTYPE html>
<html>
<body>
<?php
$servername = "localhost";
$username = "username";
$password = "password";
mysql_connect($servername, $username, $password) or die(mysql_error());
mysql_select_db("stuff") or die(mysql_error());
$result = mysql_query("SELECT Location, Latitude, Longitude FROM Places WHERE Latitude IS NOT NULL GROUP BY Location, Latitude, Longitude");
$places = array();
while (($row = mysql_fetch_array($result, MYSQL_NUM)) !== false) {
$places[] = $row;
}
?>
<script>
function makeTableHTML(myArray) {
var result = "<table border=1>";
for(var i=0; i<myArray.length; i++) {
result += "<tr>";
for(var j=0; j<myArray[i].length; j++){
result += "<td>"+myArray[i][j]+"</td>";
}
result += "</tr>";
}
result += "</table>";
return result;
}
var places = "<?php echo json_encode($places) ?>";
makeTableHTML(places);
</script>
</body>
</html>
我已经测试了PHP部分,它运行得很好。我是JS的新手,我不知道如何进行测试/调试。任何帮助将不胜感激。
我在这里找到了makeTableHTML函数,希望它会有所帮助,但我没有运气。
答案 0 :(得分:1)
您的PHP似乎正在运行。你的javascrip HTML代码生成似乎还可以。但你不是把表写入DOM的地方。
因此,您必须选择一个DOM元素并将makeTableHTML的结果写入其中。 例如:
document.getElementsByTagName("BODY")[0].innerHTML += makeTableHTML(places);
在您的代码示例中,直接使用PHP生成表更有意义。只有当您想动态更改网站时,Javascript才有意义。
我不知道你在这里想要什么,但也许你应该研究ajax请求。但很难说,不知道你想要创造什么。
您还询问了如何调试javascript,当然您可以使用alert()输出代码中的任何变量。但在更复杂的情况下,建议使用调试器。有关如何在Firefox中使用它,请参阅here。