Я не знаю, как это объяснить, может быть, это понятно.У меня есть 2 таблицы:
- Теги таблицы: (tagID: '1', '2', '3') (tagName: 'a', 'b', 'b')
- Таблица tag_posts: (postID: '1', '1', '2') (tagID: '1', '2', '3')
Вывод: Запись 1 с тегом (a [id = 1], b [id = 2]) и запись 2 с тегом (b [id = 3])
Но я хочу результатакак это:
Теги таблицы: (tagID: '1', '2') (TagName: 'a', 'b')
Таблица tag_posts: (postID: «1», «1», «2») (tagID: «1», «2», «2»)
Вывод: Запись 1 с тегом (a [id = 1], b [id = 2]) и запись 2 с тегом (b [id = 2])
Я хочу включитьтаблица «тегов» имени тега, b = 2;не b = 2 и b = 3 (не двойное имя тега)
Php
$last_post_id = mysqli_insert_id($connect);
foreach($tags as $tag){
$sql = mysqli_query($connect, "SELECT * FROM tb_tags WHERE tagName = '$tag'") or die(mysqli_error());
$row = mysqli_fetch_array($sql);
if($row == NULL){
mysqli_query($connect, "INSERT INTO tb_tags (tagName) VALUES ('$tag')") or die(mysqli_error());
$last_tag_id = mysqli_insert_id($connect);
mysqli_query($connect, "INSERT INTO tb_tag_posts (postID, tagID) VALUES ('$last_post_id', '$last_tag_id')") or die(mysqli_error());
}else{
// if tags name exists do nothing and take the existing id tag
mysqli_query($connect, "INSERT INTO tb_tag_posts (postID, tagID) VALUES ('$last_post_id', '".$row['tagID']."')") or die(mysqli_error());
}
}