Невозможно удалить с помощью флажков и обновить codeignitrer

Раньше у меня была проблема Как обновить данные без удаления существующих файлов предыдущий вопрос, и он был решен. но у меня снова проблемы после того как я обновил данные и я хочу удалить один из этих данных например удалить имя jack и обновить его но это не работает? Чего не хватает

 id   |         name       |  class
--------------------------------------
 01   | smith, john, billy |   III
 02   | ana, jack, philips |   IV

Контроллеры

$id = $this->uri->segment(3);;
$this->my_model->update_name($id);

Модели

$name = $this->input->post('name');                     
$delete = $this->input->post('delete');

for ($i=0; $i < count($delete) ; $i++)  { 
        $this->db->where('name', $delete[$i]);
        $this->db->delete('mytable');
}

$this->db->set('name', "CONCAT(name,'".$name."')", FALSE);                  
$this->db->where('id', $id);
$this->db->update('mytable');

Просмотры

<span class="button-checkbox">
    <button type="button" class="btn" data-color="danger">'.$row.'</button>
    <input type="checkbox" class="hidden" name="delete[]" value="'.row.'"/>
</span>

person irwan dwiyanto    schedule 21.10.2016    source источник
comment
Вы действительно усложняете себе жизнь больше, чем она должна быть. Измените структуру базы данных, чтобы каждая строка содержала один идентификатор, имя и класс. Это позволит значительно упростить обновление, удаление и создание.   -  person Blinkydamo    schedule 21.10.2016
comment
да, я думаю, что что-то не так с моим скриптом, и мне пришлось снова попытаться понять структуру базы данных, на самом деле это основная проблема, я не могу отобразить текущие данные редактирования значения с помощью jquery.tokeninput.js, поэтому я искал другие способы редактировать и обновлять данные.   -  person irwan dwiyanto    schedule 21.10.2016


Ответы (1)


Вам не удается удалить или обновить входное значение jack из-за того, что вы используете where(), который преобразуется в оператор SQL.

... WHERE name = 'jack'

Но поле name содержит только часть значения ana, jack, philips, поэтому сравнение приведет к ложному результату. Как указал Блинкдамо, вам необходимо сначала нормализовать схему базы данных.

person Zamrony P. Juhara    schedule 21.10.2016
comment
хорошо, спасибо, я пытаюсь улучшить и научиться нормализовать схему базы данных для решения этих проблем. - person irwan dwiyanto; 21.10.2016