Witam!
Pobieram dane z pliku php w formacie JSON:
$.get('data_compass.php?callback=')
W jaki sposób obliczyć liczbę pobranych rekordów w javascript i przypisać ją do zmiennej (np. var i = 1234)?
Pozdrawiam
Witam!
Pobieram dane z pliku php w formacie JSON:
$.get('data_compass.php?callback=')
W jaki sposób obliczyć liczbę pobranych rekordów w javascript i przypisać ją do zmiennej (np. var i = 1234)?
Pozdrawiam
Dane masz w formacie json, pewnie w jakiejś tablicy.
Załóżmy, że tablica nazywa się "items"
Przypisanie ilości rekordów możesz zrobic tak:
var recordsCount = items.length;
Hagefid napisał(a):
Dane masz w formacie json, pewnie w jakiejś tablicy.
Załóżmy, że tablica nazywa się "items"
Przypisanie ilości rekordów możesz zrobic tak:var recordsCount = items.length;
Dziękuję bardzo. U nie kodowanie JSON wygląda tak:
$stmt = $conn->prepare("SELECT czas_datetime, compass FROM tab_czujniki WHERE compass <> '---'");
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_OBJ);
echo json_encode($results);
Jak w tej sytuacji zastosować Twoją poradę?
Czyli zwracasz bezpośrednio tablicę elementów a json wyglada tak:
[
{ ...},
{...},
]
Wiec po prostu mozesz zrobic to tak: (zakładam ze status=OK, dodalem funkcje w formie callbacku - na codzień nie pracuję z js, ale wydaje mi się w porządku, musisz przetestować):
$.get('data_compass.php?callback=', function(data, status){
var count = data.length;
});
U nie kodowanie JSON wygląda tak:
czyli ze jak? bo ja absolutnie nie widze tu jak wyglada json (moge sie domyslac, ale na pewno nie widze tego)
fasadin napisał(a):
U nie kodowanie JSON wygląda tak:
czyli ze jak? bo ja absolutnie nie widze tu jak wyglada json (moge sie domyslac, ale na pewno nie widze tego)
JSON wygląda tak:
Hagefid napisał(a):
Czyli zwracasz bezpośrednio tablicę elementów a json wyglada tak:
[ { ...}, {...}, ]
Wiec po prostu mozesz zrobic to tak: (zakładam ze status=OK, dodalem funkcje w formie callbacku - na codzień nie pracuję z js, ale wydaje mi się w porządku, musisz przetestować):
$.get('data_compass.php?callback=', function(data, status){ var count = data.length; });
Zastosowałem Twoją funkcję, ale nie działa dobrze. Liczba zwracana to ok. 101034, zamiast 1210. Podejrzewam, że może to być łączna ilość znaków, a nie rekordów.
A ok.
To zrób tak jeszcze:
$.get('data_compass.php?callback=', function(data, status){
var parsedData = JSON.parse(data);
var count = parsedData.length;
});
Bardzo dziękuję! Działa zgodnie z oczekiwaniem. Klikam pomógł.