Я пытаюсь сделать небольшую открытую CMS с CodeIgniter, и сейчас я работаю над системой категорий.
Я действительно застрял с этим, и после многих попыток и сообщения на форуме я не решил его.
У меня есть 2 MySQL ТАБЛИЦЫ
- # 1: ft_categories (перечислите все имена категорий с 2 полями:
Категория_имя и идентификатор)
- # 2: ft_upload_data (список всех сообщений с полями, такими как id, title, category,
дата и тд)
Я хочу ОБНОВИТЬ мою # 1 ТАБЛИЦУ данными в форме редактирования названий категорий (эта форма заполняется входными данными в цикле для редактирования нескольких категорий одновременно)
Вот оно:
if ($result != NULL) {
echo form_open('admin/update_categories/');
if (isset($result) && $result != NULL) {
foreach ($result as $row) {
echo form_input('category_name[]' ,$row->category_name);
echo anchor("admin/delete_category/$row->category_name", 'Delete category');
echo '<br /><br />';
}
echo '<br /><br />';
echo form_submit('','Save');
echo form_close();
} } else { echo 'NO categories'; }
Это форма с данными, полученными из БД, где вы можете редактировать имя.
Хорошо, теперь, когда вы редактируете имена категорий, вы переходите к CONTROLLER 'update_categories', чтобы выполнить запрос ОБНОВЛЕНИЯ
function update_categories(){
$i = 0;
foreach ($this->input->post('category_name') as $cat)
$data[$i++]['category_name'] = $cat;
// The $i++ creates a multi-dimensional array to insert
// multiple rows into the DB.
$this->admin_model->update_categories($data);
}
Это приведет к тому, что поля ввода будут кратны ОБНОВЛЕНИЮ БД.
А теперь я иду в МОДЕЛЬ, чтобы ОБНОВИТЬ данные в БД и ЗДЕСЬ ПРОБЛЕМА:
function update_categories($data) {
?
Я не знаю, что я могу сделать, чтобы правильно обновить имена с помощью чего-то вроде insert_batch, но с UPDATE, потому что, хотя мне нужно ОБНОВИТЬ ТАБЛИЦУ № 1, мне также НУЖНО обновить имя в поле в ТАБЛИЦА № 2
Дважды ОБНОВЛЕНИЕ на 2 таблицы и 1 пакетное ОБНОВЛЕНИЕ в ТАБЛИЦЕ № 1
Очевидно, я попытался добавить еще одну ТАБЛИЦУ: ТАБЛИЦА # 3, которая получает идентификатор поля ТАБЛИЦЫ № 1 и сопоставляет его с идентификатором поля ТАБЛИЦЫ № 2, но я не могу понять, как установить связь между этими 3 таблицами.
Любая помощь будет очень цениться! Большое спасибо!! (извините за мой плохой английский)
Спасибо за ответ!
Хорошо, у меня есть эта третья таблица, теперь я хотел бы получить 'category_name', чтобы показать это в 'post'
У меня есть это:
$this->db->order_by('rank', 'asc');
$this->db->select('*');
$this->db->from('ft_upload_data');
$this->db->join('ft_categories', 'assigned_categories.ft_categories_id = assigned_categories.ft_upload_data_id');
$query = $this->db->get();
return $query->result();
Но там написано, что есть неизвестный столбец 'assign_categories.ft_categories_id' в 'предложении'
(assign_categories - мой третий СТОЛ с идентификатором поста и идентификатором категории)
Есть идеи?