I need help, sending data from the server.
$conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, voltage/*, current_out, power ,temperature, reading_time*/ FROM SensorData GROUP BY id;"; $result = mysqli_query($conn,$sql); $data1= array(); foreach ($result as $row) { $data1[] = $row; } $result->close();
shaped
[{"id":"36","voltage":"16"},{"id":"37","voltage":"18"},{"id":"38","voltage":"20"},{"id":"39","voltage":"22"},{"id":"40","voltage":"26"},{"id":"41","voltage":"30"},{"id":"42","voltage":"32"},{"id":"43","voltage":"34"},{"id":"44","voltage":"36"},{"id":"45","voltage":"36"}]
and I process but I don’t know exactly how to approach individual parameters. you don’t know where the problem is.
<script > $(document).ready(function(){ $.ajax({ url: "http://192.168.1.16/webput_to_mysql.php", method: "GET", success: function(data1) { console.log(data1); var voltage1 = []; var id1 = []; voltage1.push(data1[1].voltage); document.getElementById("demo").innerHTML = voltage1; } }); }); </script>
Advertisement
Answer
The problem is that the data is coming back as a string, and you’re trying to read it as JSON. You can just add the dataType option to ajax, to tell jQuery how to handle things.
$.ajax({ url: "http://192.168.1.16/webput_to_mysql.php", method: "GET", dataType: "json", ... });
See the docs for more info.
Another option is to send the json header in PHP (before your echo json_encode...
), which should help jQuery detect the type automatically:
header('Content-Type: application/json');