Mysql
 sql >> Database >  >> RDS >> Mysql

Come recuperare i dati dal database MySQL in JavaScript per creare un grafico?

Dopo aver effettuato la selezione nel tuo DB devi restituire la risposta in formato json (per me ho appena creato un array con il valore da testare):

Il tuo file php (io è 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);

Ora devi ottenere la risposta nel tuo codice javascript. Per farlo devi fare una richiesta "GET" in javascript o jQuery (jQuery nel mio caso):

Questo è il tuo file 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 in obj hai i tuoi dati :

Quindi ora hai i tuoi dati e per accedere, è un array quindi:

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

Nel tuo caso, variable1 è lo stesso di obj

Modifica Con il tuo DB :

Prima di inviare la risposta, devi costruire correttamente i tuoi dati. Quindi nel tuo caso, hai un array multidimensionale, quello che faccio quando inserisco un array nell'array chiamato 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);