亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 PHP 數組數據發送到 javascript

將 PHP 數組數據發送到 javascript

PHP
catspeake 2022-06-17 16:37:39
我有一個 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 } } );
查看完整描述

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 } } );


查看完整回答
反對 回復 2022-06-17
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

你為什么不把你的查詢結果放到一個數組中,在這里失明: while($row = mysqli_fetch_array($result, MYSQLI_NUM)) { $data[] = $row; }

return $data;作為一個函數,您將其包裝起來,并根據您在將函數 getCourse() 調用到javascript中時分配的變量來包裝它和 json_encode($data_variable) ?


查看完整回答
反對 回復 2022-06-17
  • 2 回答
  • 0 關注
  • 157 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號