将PHP数组数据发送到javascript
我有一个PHP函数,我正在查询mySQL数据库,我需要将该查询中的数据发送到javascript函数,以便在plotly graph中使用数据。我能够用PHP查询数据并获取所需信息,但当我试图在javascript文件中获取信息时,它会显示NULL。这是我的代码,上面有我得到的注释 PHP函数:将PHP数组数据发送到javascript,javascript,php,plotly,Javascript,Php,Plotly,我有一个PHP函数,我正在查询mySQL数据库,我需要将该查询中的数据发送到javascript函数,以便在plotly graph中使用数据。我能够用PHP查询数据并获取所需信息,但当我试图在javascript文件中获取信息时,它会显示NULL。这是我的代码,上面有我得到的注释 PHP函数: function getCourses() { $conn = getDBConn(); $query = "SELECT course_id FROM TraineeEventCour
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.
}
函数getCourses(){
$conn=getDBConn();
$query=“按课程id从TraineeEventCourses组中选择课程id;”;
$result=mysqli_query($conn,$query)或die('Error connecting to mysql');
while($row=mysqli\u fetch\u assoc($result)){
foreach($courseID行){
$course=$courseID;
印刷(课程);
echo“”;//按预期打印12348910 //返回$course; } } //印刷(课程); //echo“
”;//当未注释掉时,它与return语句一起使用,但由于某种原因,它只返回10,而不是返回整个数组。 } 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 } } );
var=”;
console.log(课程);//返回NULL,但应返回12348910
TESTER=document.getElementById('TESTER');
绘图。绘图(测试仪[{
十:[课程],
y:[课程]}],
{边距:{t:0}});
为什么不将查询结果放入一个数组,在这里变盲:
while($row=mysqli\u fetch\u数组($result,mysqli\u NUM))
{
$data[]=$row;
}
返回$data
作为一个函数,您将其包装起来,并根据在javascript中调用函数getCourse()时指定的变量对其进行json_编码($data_variable)您需要将所有课程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 } } );
函数getCourses(){
$conn=getDBConn();
$query=“按课程id从TraineeEventCourses组中选择课程id;”;
$result=mysqli_query($conn,$query)或die('Error connecting to mysql');
$courses=array();
while($row=mysqli\u fetch\u assoc($result)){
$course=$row['course_id'];
印刷(课程);
echo“”;//按预期打印12348910 $courses[]=$courses; } 退还$200课程; } $course=getCourses(); ?> var=”; console.log(课程);//返回NULL,但应返回12348910 TESTER=document.getElementById('TESTER'); 绘图。绘图(测试仪[{ 十:[课程], y:[课程]}], {边距:{t:0}});
在哪里设置全局变量
$course
?