sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo obtener datos de la base de datos MySQL en JavaScript para crear un gráfico?

Después de hacer su selección en su base de datos, debe devolver la respuesta en formato json (para mí, acabo de hacer una matriz con el valor para probar):

Tu archivo php (yo es 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);

Ahora debe obtener la respuesta en su código javascript. Para hacerlo, debe realizar una solicitud "GET" en javascript o jQuery (jQuery en mi caso):

Este es su archivo 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);
   }
});

Y en obj tienes tus datos :

Entonces ahora tiene sus datos y para acceder, es una matriz, entonces:

 - 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 ...

En tu caso, variable1 es lo mismo que obj

Editar Con tu base de datos:

Antes de enviar la respuesta, debe construir correctamente sus datos. Entonces, en su caso, tiene una matriz multidimensional, eso es lo que hago cuando presiono una matriz en la matriz llamada 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);