Я новичок в 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"}]
Я не могу найти эту же проблему уже опубликована. Пожалуйста, дайте мне знать, что я делаю неправильно. Спасибо!
у вас есть два варианта
$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);
Других решений пока нет …