Я хочу передать результаты запроса на javascript (я хочу сделать интерактивную викторину о видах рыб). Это похоже на json_encode, но структура моего php-массива затрудняет доступ? Даже console.log
не работает, поэтому, вероятно, есть ошибка, хотя я проверял этот код больше, чем хотел бы признать. Я уверен, что ошибка в небольшой части javascript. Код (все это в файле .php):Передача данных из mysqli в javascript
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php
$con = new mysqli("localhost", "root", "", "marinefish");
$query = "SELECT Commonname, Scientificname FROM allseafish";
$result = $con->query($query);
while ($row = $result->fetch_array()){
$rows[] = $row;
}
/*
Structure rows:
array(544) {
[0]=>
array(4) {
[0]=>
string(7) "Allfish"
["Commonname"]=>
string(7) "Allfish"
[1]=>
string(11) "Omni pisces"
["Scientificname"]=>
string(11) "Omni pisces"
}
*/
mysqli_free_result($result);
mysqli_close($con);
?>
<title>Untitled</title>
</head>
<body>
<script type="text/javascript">
var ars = <?php echo json_encode($rows) ?>;
console.log(ars);
alert(ars[0][0]);
</script>
</body>
</html>
Любые предложения, или просто для понимания ссылки/учебные пособия очень приветствуются! Я пробовал: http://www.dyn-web.com/tutorials/php-js/json/multidim-arrays.php, который кажется очень четко объясненным, но не мог мне помочь. Я также попытался упростить структуру массива php, но безуспешно. И я попытался сменить echo json_encode($rows)
на print(json_encode($rows))
. Как вы, возможно, заметили, я новичок в этом, поэтому все основные советы помогут вам. Спасибо!
Благодарим вас, отделяя javascript от PHP, заставив его работать, а также сделав кодировку более понятной. –