mySQL к PHP к jQuery, возвращая значение с плавающей запятой в виде строки (JSON)

Я новичок в PHP, jQuery и SQL, и я пытаюсь вернуть данные из моей базы данных для использования в моем файле JavaScript. По какой-то причине мой объект возвращается в виде строки, даже если значения должны быть числами с плавающей запятой.

В моей структуре базы данных этот столбец настроен как число с плавающей запятой.

Вот фрагмент моего PHP-кода:

$q = "SELECT object FROM $tableName";

if($q === FALSE) {
die(mysql_error());
}

$sth = mysqli_query ($con, $q);
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
$rows[] = $r;
}

print json_encode($rows);

и вот мой JavaScript:

$.get('PHP file URL', function(data) {

var object = JSON.parse(data);

Тем не менее, я получаю следующее (строка) возвращается вместо числа с плавающей запятой:

[{"object":"34.416"},{"object":"34.589"},{"object":"33.3948"}]

Я не могу найти эту же проблему уже опубликована. Пожалуйста, дайте мне знать, что я делаю неправильно. Спасибо!

1

Решение

у вас есть два варианта

$q = "SELECT object FROM $tableName";

if($q === FALSE) {
die(mysql_error());
}

$sth = mysqli_query ($con, $q);
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
$rows[] = array('object'=> (float)$r['object'];
}

print json_encode($rows);

или в jquery

$.get('PHP file URL', function(data) {
var object = [];
$.each(data, function(){
object.push(parseFloat(this.object))
});

var object = JSON.parse(data);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]