2015-03-27 3 views
0

im пытается отобразить номер отслеживания для продукта на opencart.Отслеживание 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; 
} 

$ this-> данные [ 'отслеживания'] = $ отслеживания;

это было бы также пойти в order.php

это то, что ив написано, но не работают, я не эксперт в PHP, я плескаться в нем. надеюсь, кто-то может мне точку в правильном направлении,

так что этот код будет идти в контроллере/счет/order.php

затем на шаблоне я предполагаю, что я могу просто вставить <?php echo $tracking; ?> для отображения отслеживания deteails.

благодарит заранее.

ответ

0

Off стороны, я могу видеть, что этот код приведет к ошибке, потому что ваши цитаты/обратные кавычки неуместны:

$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'"; 

Сделайте себе одолжение и u se двойные кавычки при подготовке запроса 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; 
} 

Однако, если вы собираетесь связать больше, чем один номер для отслеживания с вы можете вставить столбец BLOB в таблицу order_history и вставить/сериализовать данные или создать отдельную таблицу целиком, где несколько строк могут быть связаны с одним идентификатором заказа.

Смежные вопросы