Witam,
Nie znalazłem nigdzie odpowiedzi na forum więc zakładam nowy temat.
Mam pewną klasę w PHP (data.php), która pobiera dane z bazy danych:
<?php
include_once './connection.php';
class data {
private $condb;
public $dataDB = array();
public $json;
public function __construct(connection $con) {
$this->condb = $con->getConnection();
}
function get_all_data($from){
$stmt = $this->condb->query("SELECT * FROM ".$from);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row){
array_push($this->dataDB, $row);
}
//echo json_encode($this->data);
echo json_encode($this->dataDB);
//return $this->data;
}
function get_last_value($from){
$stmt = $this->condb->query("SELECT * FROM ".$from. " ORDER BY id DESC LIMIT 1");
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row){
array_push($this->dataDB, $row);
}
//echo json_encode($this->data);
echo json_encode($this->dataDB);
//return $this->data;
}
}
Chciałbym dane z tych dwóch metod w tej klasie pobrać do jQuery za pomocą JSONA.
Czy jest szansa w jakiś sposób zdecydowania z której metody jQuery ma pobrać dane ?
Jeśli zrobię coś takiego na końcu data.php:
$con = new connection();
$data = new data($con);
$all_dht = $data->get_all_data("dht11");
$last_dht = $data->get_last_value("dht11");
To wtedy dane są przekazywane. Ale nie chciałbym, żeby były bez potrzeby przekazywane dane np. z metody get_last_value jak potrzebuję tylko dane z get_all_data.
function($){
$.data = function(){
var url = "./data.php";
var system;
var dfd = $.Deferred();
$.when($.get(url))
.then(function(data){
dfd.resolve(data);
})
.fail(function(data){
var alert = "Could not get weather data";
dfd.resolve(alert);
})
return dfd.promise();
};
})(jQuery);