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 關注
- 157 瀏覽
添加回答
舉報