[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Тэги
tager
Здраствуйте хочу научится прикручивать теги, суть такая: сделал инпут в который вводим через запятую теги. Разбиваем строку explode'ом получаем массив тегов, затем сравниваем теги с таблицей в базе с тегами( если у нас они есть уже в базе то счетчику добавляем +1 если нету в базе то создаем новый тег с счетчиком = 1)
затем возвращаем id этих тегов которые мы только что обновили(счетчик) или которые только что добавили. Затем берем эти id (от тегов) и запихиваем их в строчку отделенную запятой (по сути берем строку из инпута и заменяем текстовые тэги их эквивалентами id). вставляем эту строку вместе со всей записью в базу. Теперь я не могу понять как мне достовать записи похожие по тегам. Т.е. теперь есть теги но они в строке пробовал через LIKE достовать но не получилось так сделать, или может я что то не так делаю? В какую сторону идти подскажите пожалуста. для примера строка тегов к записи имеет такой вид: "123, 32, 23,"
Думал хранить теги в массиве но опять таки как их тогда фильтровать



Спустя 8 часов, 52 минуты, 33 секунды (3.06.2011 - 21:29) Guest написал(а):
никто не знает как действовать?

Спустя 38 минут, 8 секунд (3.06.2011 - 22:07) Xes написал(а):
Теперь берешь свои теги 123, 32, 23 разбиваешь опять по запятаой получаешь массив.
Делаешь запрос чтото вроди
SELECT `teg` FROM `tegs_table` WHERE idteg=123 and idteg=32

Строку запроса idteg=123 and idteg=32 формируешь в цикле
xnjnj nbgf
пока не конец массива делать
idteg= ЭЛЕМЕНТ МАССИВА AND
КОНЕЦ ЦИКЛА
Ну там дадумаешь надо лишний энд скорее всего в конце убрать будет.

Спустя 1 час, 43 минуты, 40 секунд (3.06.2011 - 23:51) Guest написал(а):
так мне надо ведь не из всех тегов вытаскивать, а из всех других записей содержащих данные теги, а вот как их сравнивать?

Спустя 3 минуты, 14 секунд (3.06.2011 - 23:54) neadekvat написал(а):
Что, вот так прям в бд хранится: "123, 32, 23,"?
Если да - то плохо.
Нужна вторая таблица, вида:
id | tag_id
И третья, вида:
tag_id | name
где id - это первичный ключ какой-то записи (я упустил, что это за сущность - пост, коммент, не важно), tag_id - первичный ключ конкретного тэга, name - его имя.

Спустя 8 минут, 51 секунда (4.06.2011 - 00:03) Guest написал(а):
хранится так: две таблицы фотки к которым теги вот в ней хранится в виде "123, 32, 23,"
но есть вторая таблица там где такие столбцы: id, имя тега, сколько раз упомянут;
как 123, 32, 23 используются id из второй таблицы

Спустя 11 минут, 47 секунд (4.06.2011 - 00:15) neadekvat написал(а):
А я говорю, что соответствие фотографии и тэга надо хранить в отдельной таблице, т.к. этих тэгов может быть много.
Через запятую в одном поле хранить неправильно.

Спустя 20 минут, 14 секунд (4.06.2011 - 00:35) Guest написал(а):
тоесть в первой таблице относящейся к фотке убрать столбец тэг, а создать новую таблицу в которой id фотки соответствовал id тега?

Спустя 2 минуты, 46 секунд (4.06.2011 - 00:38) neadekvat написал(а):
Да

Спустя 1 час, 36 минут, 49 секунд (4.06.2011 - 02:15) Guest написал(а):
спасибо попробую так сделать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.