streleca_stz
Registered
Здравейте,
Имам проблем, с който се мъча от много време - Имам 2 таблици с данни, като за връзка между двете използвам релационна таблица, съдържаща просто уникалните ключове на закачените записи.
Пример: таблица 1 съдържа новини /row_id/, таблица 2 съдържа тагове /tag_id/ и релационната таблица съдържа в себе си записи за всеки закачен таг към всяка публикация.
Да, но при редактиране на публикация искам например да сменя таговете - как обаче да сравня и заменя (изтрия и добавя) разликите? Пробвах следния начин, но не сработва винаги:
Имам проблем, с който се мъча от много време - Имам 2 таблици с данни, като за връзка между двете използвам релационна таблица, съдържаща просто уникалните ключове на закачените записи.
Пример: таблица 1 съдържа новини /row_id/, таблица 2 съдържа тагове /tag_id/ и релационната таблица съдържа в себе си записи за всеки закачен таг към всяка публикация.
Да, но при редактиране на публикация искам например да сменя таговете - как обаче да сравня и заменя (изтрия и добавя) разликите? Пробвах следния начин, но не сработва винаги:
PHP:
<?php
$old_selection = array( ... );
$new_selection = array( ... );
if ($old_selection != $new_selection) {
$to_delete = array_diff($old_selection, $new_selection);
if (!empty($to_delete)) {
foreach ($to_delete as $del) {
mysqli_query($conn, "DELETE FROM table_rel WHERE row_id = row_id AND tag_id = $del");
}
}
$to_add = array_diff($new_selection, $old_selection);
if (!empty($to_add)) {
foreach ($to_add as $add) {
mysqli_query($conn, "INSERT INTO table_rel (tag_id, row_id) VALUES ($add, row_id)");
}
}
}
?>