doupi3874 2017-02-25 07:16
浏览 19

如何获取多语言表数据?

I am using opencart 2.3.0.2. I am trying to get multiple language data from data table. But output result not showing value and title properly.

productmark Table

title  value  language_id  product_id
 1st    2nd       1           42
 3st    4nd       2           42

productmark model

    public function getmarks($product_id) {

          $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "productmark WHERE product_id = '" . (int)$product_id . "'");
          return $query->rows;

    }

   public function getmarksdata($product_id,$language_id) {

          $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "productmark WHERE product_id = '" . (int)$product_id . "' AND language_id='".$language_id."'");
          return $query->rows;

    }

productmark controller

if (isset($this->request->post['productmark'])) {
            $productmarks = $this->request->post['productmark'];
        } elseif (isset($this->request->get['product_id'])) {
            $productmarks = $this->model_productmark->getmarks($this->request->get['product_id']);
        } else {
            $productmarks = array();
        }

        $data['productmarks'] = array();        

        foreach ($productmarks as $key=> $productmark) {   
                foreach ($data['languages'] as $language){

                $productmarks_data = $this->model_productmark->getmarksdata($this->request->get['product_id'],$language['language_id']);

                $data['productmarks'][$key][$language['language_id']] = array(
                    'title' => $productmarks_data['title'],
                    'value' => $productmarks_data['value'],

                ); 

            }

          }

productmark template

<?php $productmark_row = 0; ?>
      <?php foreach ($productmarks as $productmark) { ?>
              <?php foreach ($languages as $language) { ?>
                       <input type="text" name="productmark[<?php echo $productmark_row; ?>][<?php echo $language['language_id']; ?>][title]" value="<?php echo $productmark[$language['language_id']]['title']; ?>" placeholder="Title" class="form-control" />
                <?php }?>
                <?php foreach ($languages as $language) { ?>
                       <input type="text" name="productmark[<?php echo $productmark_row; ?>][<?php echo $language['language_id']; ?>][value]" value="<?php echo $productmark[$language['language_id']]['value']; ?>" placeholder="Value" class="form-control" />
                 <?php }?>
 <?php $productmark_row++; ?>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 微信会员卡接入微信支付商户号收款
    • ¥15 如何获取烟草零售终端数据
    • ¥15 数学建模招标中位数问题
    • ¥15 phython路径名过长报错 不知道什么问题
    • ¥15 深度学习中模型转换该怎么实现
    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向
    • ¥15 如何用python向钉钉机器人发送可以放大的图片?