首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从paypal ipn中分解产品id和数量字符串

如何从paypal ipn中分解产品id和数量字符串
EN

Stack Overflow用户
提问于 2016-12-07 22:39:28
回答 1查看 46关注 0票数 0

伙计们,

这个我有点头疼。该贝宝Ipn发送回一个与数量订购的产品字符串,并存储在数据库的订单表中,如1- 3,2-2,4-3这解释为是如此- productid是1和数量的3,productid的2和数量2等。我有一个非常困难的时间拆分所有这些数字和分隔符,以便我可以显示后端管理面板中的产品订购的产品及其数量时,我点击查看该特定订单。有没有人可以和我分享他们的智慧并帮助我,我甚至不知道从哪里开始诚实的开始!即使我将它分解成一个数组,我仍然可以知道如何从sql查询中选择产品id等等!请帮帮我!如下所示:

代码语言:javascript
运行
复制
$sql = "SELECT * FROM orders WHERE id=$order_id";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$products_ordered = $row['product_id_array'];

当我回显$products_ordered时,我得到1-3,2-2,4-3

那么,如何从products表中获取此信息呢?

EN

回答 1

Stack Overflow用户

发布于 2016-12-07 22:59:34

您可以使用以下函数将订单字符串拆分为数组:

代码语言:javascript
运行
复制
function explodeOrders($orders) {
    $orders = explode(",", $orders); // Explodes your string, separating by each order

    foreach($orders as $key => $order) {
        $orders[$key] = explode("-", $order); // Explodes your order into an array separating the id and the count
    }

    return $orders;
}

然后,执行如下代码:

代码语言:javascript
运行
复制
var_dump(json_encode(explodeOrders("1-3,2-2,4-3"), JSON_PRETTY_PRINT));

将输出类似以下内容:

代码语言:javascript
运行
复制
[
    [
        "1",
        "3"
    ],
    [
        "2",
        "2"
    ],
    [
        "4",
        "3"
    ]
]

也就是说,您的orders数据库组织得不是很好。如果您可以更改它,我建议以某种方式将您的订单及其数量分离到一个不同的表中,而不是将其存储为字符串。但是,如果您不能这样做,这应该可以。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41020282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档