【问题标题】:PHP fetched decimal value echo's only first digitPHP获取十进制值回显的唯一第一个数字
【发布时间】:2017-07-20 13:44:49
【问题描述】:

我正在通过 article_no 从我的数据库中获取价格。我正在通过 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) "articleNo" -> 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”。

【问题讨论】:

  • $list_price_notFormat = (float)$row['price'];$list_price_notFormat = (double)$row['price'];
  • 你能在这里添加一些db的值吗?是文章否是 P.K. ?
  • @Anant 没用
  • @kamal...价格的价值是例如234.56 或 3736.43
  • 好的,但我在问 articleNo 是 PK 吗? 因为如果不是,那么由于 db 中该 articleNo 的最后一个值(如 3),您可能只会得到 3

标签: php jquery mysql ajax decimal


【解决方案1】:

弄清楚如何从 Excel 中导出 数字,而不是 字符串。您在使用“千位分隔符”时遇到了“语言环境”问题。

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

    • 我认为您应该在您的问题中添加此信息。这不是在回答中提问的正确方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多