2 回答

TA贡献1818条经验 获得超3个赞
您需要将所有课程 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 } } );

TA贡献1847条经验 获得超11个赞
你为什么不把你的查询结果放到一个数组中,在这里失明: while($row = mysqli_fetch_array($result, MYSQLI_NUM))
{
$data[] = $row;
}
return $data;
作为一个函数,您将其包装起来,并根据您在将函数 getCourse() 调用到javascript中时分配的变量来包装它和 json_encode($data_variable) ?
- 2 回答
- 0 关注
- 158 浏览
添加回答
举报