Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como buscar dados do banco de dados MySQL em JavaScript para construir um gráfico?


Depois de fazer seu select no seu banco de dados você tem que retornar a resposta no formato json (para mim eu acabei de fazer um array com o valor para testar):

Seu arquivo php (me é 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);

Agora você precisa obter a resposta em seu código javascript. Para fazer isso você tem que fazer uma requisição "GET" em javascript ou jQuery (jQuery no meu caso):

Este é o seu arquivo 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);
   }
});

E em obj você tem seus dados:



Então agora você tem seus dados e para acessar, é um array assim:
 - 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 ...

No seu caso, variable1 é o mesmo que obj

Editar Com seu banco de dados:

Antes de enviar a resposta, você deve construir corretamente seus dados. Então, no seu caso, você tem um array multidimensional, que eu faço quando eu empurro um array no array chamado 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);