Как зациклить базу данных с определенным значением столбца таблицы - PullRequest
1 голос
/ 22 марта 2019

tb_stock:

+------------+--------------+-------------+------------+
| id_stock   | name_stock   |  brand_id   |  price     |
+------------------------------------------------------+
| 1          | iPhone XS    |      1      |  1299      |
| 2          | galaxy s10   |      2      |  1000      |
| 3          | galaxy s10+  |      2      |  1100      |
| 4          | IWatch       |      1      |  500       |
+------------------------------------------------------+

Из таблицы выше я хочу показать только один бренд в моем цикле флажков.Я использовал foreach, чтобы получить значение.Но у меня есть все марки в моем флажке.я хочу показать только один бренд и зациклить его.

контроллер:

public function index(){
$data['getStok'] = $this->M_input->getStok();
this->page->view('product', $data);

}

модель:

public function getStok(){
  $query = $this->db->get('tb_stok');
   return $query->result();
}

просмотр:

<?php if(count($getStok)):?>
   <?php foreach ($getStok as $a):?>
    <div class="form-group">
       <div class="col-sm-12">
         <input type="checkbox" class="minimal" 
                id="<?php echo $a->name_stok;?>" 
                value=<?php echo $a->price;?>>

       <label><?php echo $a->name_stok;?></label>
            </div>
        </div>
      <?php endforeach;?>
    <?php else :?>
  <?php endif ;?>

1 Ответ

0 голосов
/ 23 марта 2019

Если вам нужно показать только одну марку за раз , вы можете сделать это несколькими способами:

  1. Отфильтровать только одну марку в цикле представления for.Это не оптимальный способ, поскольку вы перемещаете свою бизнес-логику на уровень просмотра MVC.
  2. Отфильтруйте один бренд в модели.Это лучший способ, потому что Модель считается подходящим местом для бизнес-логики.

Здесь вы можете найти больше объяснений о бизнес-логике в MVC

Вы можете достичь второго подхода с помощью всего лишь нескольких изменений в вашей модели (и контроллере)

контроллер:

public function index() 
{
    // assuming you get the brand ID to display from GET request 
    $brandId = $this->input->get('brand_id');
    $data['getStok'] = $this->M_input->getStokByBrandId($brandId);
    this->page->view('product', $data);
}

модель:

public function getStokByBrandId($brandId)
{
    $query = $this->db->where('brand_id', $brandId)->get('tb_stok');
    return $query->result();
}

просмотр:

no changes needed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...