[英]Transferring a multidimensional array from mysql to php to javascript
我好像有点麻烦。 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函数,希望对您有所帮助,但是我没有运气。
您的PHP似乎正在运行。 另外,您的javascrip HTML代码生成似乎还可以。 但是您无处将表写入DOM。
因此,您必须选择一个DOM元素并将makeTableHTML的结果写入其中。 例如:
document.getElementsByTagName("BODY")[0].innerHTML += makeTableHTML(places);
在您的代码示例中,直接使用PHP生成表会更有意义。 仅当您要动态更改站点时才使用Javascript。
我不知道您要在这里归档什么,但是也许您应该研究ajax请求。 但是很难说,不知道要创建什么。
您还询问了有关如何调试JavaScript的问题,当然您可以使用alert()在代码中输出任何变量。 但是在更复杂的情况下,建议使用调试器。 有关如何在Firefox中使用它的信息,请参见此处 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.