sql >> データベース >  >> RDS >> Mysql

JavaScriptでMySQLデータベースからデータをフェッチしてグラフを作成するにはどうすればよいですか?

    DBで選択を行った後、json形式で回答を返す必要があります(私にとっては、テストする値を使用して配列を作成しただけです):

    あなたのphpファイル(私はserv.phpです):

    $data = array([1, 19], [2, 11], [3, 14], [4, 16]);
    // replace $data by your code to select in DB
    echo json_encode($data);
    

    次に、JavaScriptコードで応答を取得する必要があります。これを行うには、javascriptまたはjQuery(私の場合はjQuery)で「GET」リクエストを行う必要があります:

    これはあなたのjsファイルです:

    $.ajax({
       url : 'serv.php', // your php file
       type : 'GET', // type of the HTTP request
       success : function(data){
          var obj = jQuery.parseJSON(data);
          console.log(obj);
       }
    });
    

    そしてobj あなたはあなたのデータを持っています:

    これでデータができてアクセスできるのは配列なので:

     - obj[0] contains [1, 19], obj[0][0] contains 1 and obj[0][1] contains 19
     - obj[1] contains [2, 11], obj[1][0] contains 2 and obj[1][1] contains 11 ...
    

    あなたの場合、variable1 objと同じです

    編集 あなたのDBで:

    回答を送信する前に、データを正しく作成する必要があります。したがって、あなたの場合、多次元配列があります。これは、dataという名前の配列に配列をプッシュしたときに作成するものです。 。

    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "datadb";
    
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    
    $sql = "SELECT column1, column2 FROM chartdata";  //This is where I specify what data to query
    $result = mysqli_query($conn, $sql);
    
    $data = array();
    while($enr = mysqli_fetch_assoc($result)){
        $a = array($enr['column1'], $enr['column2']);
        array_push($data, $a);
    }
    
    echo json_encode($data);
    



    1. SQLSTATE[HY000][2002]接続に失敗しました。-ローカルサーバーからリモートサーバーに接続しようとしたとき

    2. クエリでPDOプリペアドステートメントとLIMITを使用中にエラーが発生しました

    3. MySQLのエラー1064(42000)

    4. MySqlselectIN句の文字列コンマ区切り