我试图在opencart上显示一个产品的跟踪号。
所以一旦下了订单。然后,我给它添加了一个跟踪号。我希望客户能从中看到订单的历史。
// get tracking details
$sql = 'SELECT * FROM '.DB_PREFIX.'order_history'.`tracking_number`;
$query = $this->db->query($sql);
$rates = array();
foreach($query->rows as $result){
$rates[] = $result;
}$这个->数据‘跟踪’= $tracking;
这也适用于order.php
这是我写的,但它不工作,我不是专家在php,我涉足它。希望有人能给我指明方向,
因此,这段代码将进入控制器/account/order.php。
然后,在模板上,我假设我可以插入<?php echo $tracking; ?>来显示跟踪设备。
提前谢谢。
发布于 2015-06-04 13:47:29
顺便说一下,我可以看到这段代码会导致错误,因为您的引号/回退不合适:
$sql = 'SELECT * FROM '.DB_PREFIX.'order_history'.`tracking_number`;应该更多地遵循以下方针:
$sql = "SELECT `tracking_number` FROM `".DB_PREFIX."order_history`";并且,假设您想要提取一个特定于订单的跟踪#:
$sql = "SELECT `tracking_number`
FROM `".DB_PREFIX."order_history`
WHERE `order_id` = 'MUFFINS'";在准备MySQL查询时,请自己使用双引号。在不用转义的情况下,用单引号包装你的东西就更容易了。
至于代码的其余部分,这些不是比率而是跟踪数字。顺便说一句,每个订单都会返回一个跟踪号,您可以将其打包成一行代码,如下所示:
$my_tracking_number = $this->db->query("
SELECT `tracking_number`
FROM `".DB_PREFIX."order_history`
WHERE `order_id` = 'MUFFINS'
")->row['tracking_number'];
if ( !empty($my_tracking_number) {
$this->data['tracking_number'] = $my_tracking_number;
}但是,如果要将多个跟踪编号与订单关联起来,可以在order_history表中插入BLOB列并插入/查询序列化数据,或者完全创建一个单独的表,其中可以将多个行与单个订单ID关联起来。
https://stackoverflow.com/questions/29305571
复制相似问题