Помогите привязать товары к категориям Codeigniter

294
15 июня 2017, 07:27

У меня есть категории меню , в этих категориях должны быть привязанные к категориям товары. Товары представлены в таблице Не могу реализовать такую возможность и просто запутался. Помогите пожалуйста

View

<div class="container">
<?php if(isset($tables)):?>
    <table class="table table-bordered">
        <thead>
            <tr>
                <th class="span1">ID</th>
                <th class="span1">Коллекция</th>
                <th class="span1">Артикул</th>
                 <th class="span1">Наименование</th>
                 <th class="span1">Фото</th>
                 <th class="span1">Ткань</th>
                 <th class="span1">Размеры</th>
                 <th class="span1">Цена</th>
                 <th class="span1">ед.</th>
                <th class="span4">Управление</th>
            </tr>
        </thead>
        <?php $i = 1;?>
          <?php foreach($tables as $item):?>
           <?php if ($id === $id_catalog){ ?>
        <tbody>
                <tr>
                    <td><?php echo $i;?></td>
                    <td><?php echo $item['colection'];?></td>
                    <td>Артикул</td>
                    <td>Наименование</td>
                    <td>Фото</td>
                    <td>Ткань</td>
                    <td>Размеры</td>
                    <td>Цена</td>
                    <td>ед.</td>
                    <td>
                        <a href="/admin/edit_category_catalog/" class="btn btn-primary" style="margin-bottom: 5px;">Редактировать</a>

                        <a href="/admin/block_catalog_category/" class="btn btn-warning" style="margin-bottom: 5px;" >Снять с публикации</a>
                        <a href="/admin/unlock_catalog_category/" class="btn btn-success">Опубликовать</a>
                        <a href="/admin/delete_catalog_category" class="btn btn-danger">Удалить</a>
                        <div id="Modal_" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                            <div class="modal-header">
                              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                              <h3 id="myModalLabel"></h3>
                            </div>
                            <div class="modal-body">
                            </div>
                            <div class="modal-footer">
                              <button class="btn" data-dismiss="modal" aria-hidden="true">Закрыть</button>                              
                            </div>
                          </div>
                        </td>
                </tr>
                <?php } ?>
                <?php $i++;?> 
            <?php endforeach;?>
        </tbody>
    </table>
      <div class="pagination pagination-centered">
        <ul>
           <?php echo $pagination;?>
        </ul>
      </div>
  <?php else:?>
    <p>Пока не было добавлено ни одной категории каталога. Для добавления новой категории нажмите на кнопку "Добавить категорию".</p>
  <?php endif;?>

Controller

function edit_category_catalog($id)
    {
        if($this->user->is_loged() === TRUE)
        {
            $id = (int)$id;
            if(is_int($id) && $id != 0)
            {
                $data = $this->data;
                $data['id'] = $id;
                $id_catalog = $this->tovar->get_id_catalog();
                $data['id_catalog'] = $id_catalog;
                $config['base_url'] = $this->config->item('base_url').'admin/edit_category_catalog/';
                $config['total_rows'] = $this->tovar->count();
                $config['per_page'] = 15; 
                //Настройки для текущей страницы
                $config['cur_tag_open'] = '<li class="active"><span>';
                $config['cur_tag_close'] = '</span></li>';
                //Настройки для простых цифр
                $config['num_tag_open'] = '<li>';
                $config['num_tag_close'] = '</li>';
                //Настройки для  кнопки предыдущий
                $config['prev_tag_open'] = '<li>';
                $config['prev_tag_close'] = '</li>';
                //Настройки для кнопки следующий
                $config['next_tag_open'] = '<li>';
                $config['next_tag_close'] = '</li>';
                //Настройки для кнопки последнее
                $config['last_link'] = 'Последняя';
                $config['last_tag_open'] = '<li>';
                $config['last_tag_close'] = '</li>';
                //Настройки для кнопки первое
                $config['first_link'] = 'Первая';
                $config['first_tag_open'] = '<li>';
                $config['first_tag_close'] = '</li>';


   if($this->input->post())
            {
                $this->form_validation->set_rules('colection', 'Коллекция', 'required|callback_text_length');
                $this->form_validation->set_rules('article', 'Артикул', 'required|callback_text_length');
                $this->form_validation->set_rules('name', 'Наименование', 'required|callback_text_length');
                $this->form_validation->set_rules('image', 'Фото', 'required|callback_text_length');
                $this->form_validation->set_rules('sketches', 'Эскизы', 'required');
                $this->form_validation->set_rules('cloth', 'Ткань', 'required');
                 $this->form_validation->set_rules('size', 'Размер', 'required');
                  $this->form_validation->set_rules('price', 'Цена', 'required');
                   $this->form_validation->set_rules('units', 'Ед.', 'required');
                if ($this->form_validation->run() == TRUE)
                {
                        $insert['colection'] = $this->input->post('colection');
                        $insert['article'] = $this->input->post('article');
                        $insert['name'] = $this->input->post('name');
                        $insert['image'] = $this->input->post('image');
                        $insert['sketches'] = $this->input->post('sketches');
                        $insert['cloth'] = $this->input->post('cloth');
                        $insert['size'] = $this->input->post('size');
                        $insert['price'] = $this->input->post('price');
                        $insert['units'] = $this->input->post('units');
                        $operation = $this->tovar->add($insert, $id);
                        if($operation)
                        {
                            $this->session->set_userdata(array('success' => 'Информация о таблице размеров успешно обновлена.', 'referrer' => '/admin/edit_category_catalog/'.$id));
                            redirect('admin/success');
                        }
                        else 
                        {
                            $this->session->set_userdata(array('fail' => 'Операция выполнена с ошибкой, попробуйте позже.', 'referrer' => '/admin/edit_category_catalog/'.$id));
                            redirect('admin/fail');
                        }
                }
                else
                {
                        $data['message'] = validation_errors();
                }
            }

            $table = $this->catalog->get_by_id($id);
            if(is_array($table) && !empty($table))
            {
                $data['input_colection'] = array(
                    'name' => 'colection',
                    'placeholder' => 'Название коллекции',
                    'value' => $this->form_validation->set_value('colection', $table['title'])
                );
                $data['input_article'] = array(
                    'name' => 'article',
                    'placeholder' => 'Артикул',
                    'value' => $this->form_validation->set_value('article')
                );
                $data['input_name'] = array(
                    'name' => 'name',
                    'placeholder' => 'Название',
                    'value' => $this->form_validation->set_value('name')
                );
                $data['input_image'] = array(
                    'name' => 'image',
                    'placeholder' => 'Фото',
                    'value' => $this->form_validation->set_value('image')
                );
                $data['input_sketches'] = array(
                    'name' => 'sketches',
                    'placeholder' => 'Эскизы',
                    'value' => $this->form_validation->set_value('sketches')
                );
                $data['input_cloth'] = array(
                    'name' => 'cloth',
                    'placeholder' => 'Ткань',
                    'value' => $this->form_validation->set_value('cloth')
                );
                $data['input_size'] = array(
                    'name' => 'size',
                    'placeholder' => 'Размеры',
                    'value' => $this->form_validation->set_value('size')
                );
                $data['input_price'] = array(
                    'name' => 'price',
                    'placeholder' => 'Цена',
                    'value' => $this->form_validation->set_value('price')
                );
                $data['input_units'] = array(
                    'name' => 'units',
                    'placeholder' => 'Ед.',
                    'value' => $this->form_validation->set_value('units')
                );
            }

         $this->pagination->initialize($config);   
         $tables = $this->tovar->get_pagination($config['per_page'], $this->uri->segment(1));
         if(is_array($tables) && !empty($tables) )
        {
            $data['tables'] = $tables;
            $data['pagination'] = $this->pagination->create_links();
        } 


            $this->backend->content('admin/catalog/edit',$data);
        }
        else 
        {
            show_error('Страница не найдена', 404, 'Страница не найдена');
        }            
    }
    else 
    {
         $this->session->sess_destroy();
         redirect('/cabinet/login');
    }
}
READ ALSO
$_POST запрос, суперглобальная перменная

$_POST запрос, суперглобальная перменная

Есть форма, которая отправляет данные , в экшен:

212
Удаление статьи с помощью токена

Удаление статьи с помощью токена

Работает, правильно ли сделал удаление статьи, с помощью токена?

198
Сообщения с цитатой

Сообщения с цитатой

Если сообщение текстовое, то всё нормально, а вот если HTML-сообщение, то сообщение пустое и появляется "Показать цитируемый текст" и после нажатия...

216
Вывод переменной php в колонку таблицы html

Вывод переменной php в колонку таблицы html

Есть переменная php которую нужно вывести на страницу html в конкретную колонку таблицыПодскажите пожалуйста как это сделать

233