Выполнить данную проще, упростить, улучшить

Рейтинг: 0Ответов: 0Опубликовано: 22.03.2023

Есть массив, который собираю в цикле, предположим собрали

$insert =  ["('текст')", "('текст1')"];

Далее, для того чтобы записать в бд и не создавать дубликат. Выполняю следующий запрос

INSERT IGNORE INTO `tag` (`title`) VALUES ".implode(',', $insert)

Ок, далее необходимо получить все id что записали и тех, что уже есть в бд. Для этого, опять же в том же цикле что собрали первый массив, собираем еще один, на выходе получаем

$select =  ["текст", "текст1"];

Далее выполняю запрос и в цикле перебраю

select id from `tag` where title in('".implode("','", $select)."')
while($r = $db->get_row())
   $id[] = $r['id'];

В результате, записал недостающие теги и получил массив id всех тегов которые прописал пользователь.

Вопрос в том, возможно ли данную процедуру делать иначе. Проще, меньше кода, вместо одного массива к примеру. Оперировать одним?

Ответы

Ответов пока нет.