[英]Sending PHP Array data to javascript
我有一个 PHP 函数,我正在查询 mySQL 数据库,我需要将来自该查询的数据发送到一个 javascript 函数,以便可以在绘图中使用数据。 我能够在 PHP 中查询数据并获取我需要的信息,但是当我尝试在我的 javascript 文件中获取信息时,它显示为 NULL。 这是我的代码,其中包含对我所获得内容的评论。
PHP函数:
function getCourses() {
$conn = getDBConn();
$query = "SELECT course_id FROM TraineeEventCourses GROUP BY course_id;";
$result = mysqli_query($conn, $query) or die('Error connecting to mysql');
while ($row = mysqli_fetch_assoc($result)) {
foreach ($row as $courseID) {
$course = $courseID;
print_r($course);
echo "<br>"; // Print's 1 2 3 4 8 9 10 as expected
// return $course;
}
}
// print_r($course);
// echo "<br>"; // When not commented out this goes with the return statement but it only returns 10 for some reason instead of returning the whole array.
}
Javascript:
var courses = "<?php echo json_encode($course, JSON_PRETTY_PRINT) ?>";
console.log(courses); // Returns NULL but should be returning 12348910
TESTER = document.getElementById('tester');
Plotly.plot( TESTER, [{
x: [courses],
y: [courses] }],
{ margin: { t: 0 } } );
您需要将所有课程 ID 放入一个数组中,然后从函数中返回它。
也不需要foreach
循环。 $row
是一个具有单个元素的数组,您可以使用数组索引直接访问它。
function getCourses() {
$conn = getDBConn();
$query = "SELECT course_id FROM TraineeEventCourses GROUP BY course_id;";
$result = mysqli_query($conn, $query) or die('Error connecting to mysql');
$courses = array();
while ($row = mysqli_fetch_assoc($result)) {
$course = $row['course_id'];
print_r($course);
echo "<br>"; // Print's 1 2 3 4 8 9 10 as expected
$courses[] = $course;
}
return $courses;
}
$course = getCourses();
?>
<script>
var courses = "<?php echo json_encode($course, JSON_PRETTY_PRINT) ?>";
console.log(courses); // Returns NULL but should be returning 12348910
TESTER = document.getElementById('tester');
Plotly.plot( TESTER, [{
x: [courses],
y: [courses] }],
{ margin: { t: 0 } } );
你为什么不把你的查询结果放到一个数组中,在这里盲目: while($row = mysqli_fetch_array($result, MYSQLI_NUM)) { $data[] = $row; }
while($row = mysqli_fetch_array($result, MYSQLI_NUM)) { $data[] = $row; }
return $data;
作为它的一个函数,你将它包裹起来, json_encode($data_variable) 基于你在你的 javascript 中调用函数 getCourse() 时分配的变量?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.