PHP 获取十进制值回显唯一的第一位数字

标签 php jquery mysql ajax decimal

我正在按文章编号从数据库中获取价格。我通过 ajax 将文章发送到 php:

var comps_gehaz = {};
comps_gehaz['articleNumbers'] = 38292783;

$.ajax({
    type: "POST",

    url: "php/gehaz.php",
    data: {gehaz_json_data: JSON.stringify(comps_gehaz)},
    dataType: "text",

    success: function (msg, string, jpXHR) {

        if(msg) {
            $('#gehaz_priceTag').html(msg);
        } else {
            console.log('Something else went wrong.');
        }
    },
    error: function(xhr, desc, err) {
        console.log(xhr);
        console.log("Details: " + desc + "\nError:" + err);
    }
});

我在MySQL中的表结构是:

... “价格”-> 小数(10,2) “文章编号”-> BIGINT ...

PHP:

$gehaz_json_data = $_POST['gehaz_json_data'];
$obj = json_decode($gehaz_json_data, true);

$articleNumber = $obj['articleNumber'];

$getMoney = "SELECT price FROM Articles WHERE articleNo = '$articleNumber'";

if (mysqli_query($db_link, $getMoney)) {
    $result_price = mysqli_query($db_link, $getMoney);

    while ($row = mysqli_fetch_array($result_price)) {
        $list_price_notFormat = $row['price'];
    }
    echo $list_price_notFormat;
}

如果价格值为 345.56,则显示正确。但如果它是大于千的数字,例如 3036.47,则仅回显第一个数字“3”。

最佳答案

我想我知道问题出在哪里。

我的数据库中的值是使用 javascript/node.js 自动设置的。我正在从 Excel 文件中读取值并将它们保存在我的 MySQL 表中。在将它们放入数据类型为“十进制 10,2”的列中之前,我必须将 Excel 工作表中的值(例如“1.253,64”)解析为字符串,以便我可以替换“.”。通过 ''end'、' 通过 '.',所以看起来像 1253.64

我认为这就是它只读取第一个数字的原因。

我应该将数据类型从十进制更改为浮点型还是有更好的方法来保存 mysql 中的价格?

关于PHP 获取十进制值回显唯一的第一位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42528212/

相关文章:

php - 摘要中的错误应该与

javascript - 验证图片上传

php - 通过限定名称与::class 引用 Laravel 模型

php - 记录每个脚本的PHP错误

javascript - 使用PHP从网页获取脚本内容

javascript - HTML5/CSS3 - 内部带有谷歌地图的自定义形状 Div

javascript - jQuery单独列表上下滑动

PHP/MySQL - 如何从给定的查询结果中确定字段名称?

mysql - 求和到一定值

php - 从 PHP 中的表中多次删除