Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment récupérer des données de la base de données MySQL en JavaScript pour créer un graphique ?

Après avoir fait votre select dans votre DB vous devez retourner la réponse au format json (pour moi je viens de faire un tableau avec la valeur à tester) :

Votre fichier php (moi c'est 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);

Maintenant, vous devez obtenir la réponse dans votre code javascript. Pour cela il faut faire une requête "GET" en javascript ou jQuery (jQuery dans mon cas) :

Voici votre fichier 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);
   }
});

Et dans obj vous avez vos données :

Alors maintenant vous avez vos données et pour y accéder, c'est un tableau donc :

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

Dans votre cas, variable1 est identique à obj

Modifier Avec votre BD :

Avant d'envoyer la réponse, vous devez construire correctement vos données. Donc, dans votre cas, vous avez un tableau multidimensionnel, c'est ce que je fais quand je pousse un tableau dans le tableau nommé 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);