|
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
|
||||||
Разбивка строки04.11.2012, 16:07. Показов 2093. Ответов 26
Метки нет (Все метки)
Здравствуйте. Делаю скрипт похожих новостей, столкнулся с проблемой.
При создании новости у меня можно выбрать несколько категорий например: спорт"sport" политика"politik" в базе они хранятся sport|politik когда начал делать скрипт похожих новостей по категорий появилась проблема, что выводит похожие новости именно если в базе хранится sport|politik а мне нужно чтобы выводило sport|politik sport politik то есть нужно избавиться как то от разделителя, помогите решить проблему, заранее спасибо. Исходник:
0
|
||||||
| 04.11.2012, 16:07 | |
|
Ответы с готовыми решениями:
26
Разбивка ЧПУ строки |
|
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
|
|
| 04.11.2012, 16:13 | |
|
А зачем атомарность нарушаешь (1NF)?
0
|
|
|
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
|
|
| 04.11.2012, 16:18 [ТС] | |
|
0
|
|
|
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
|
|
| 04.11.2012, 16:22 | |
|
Хранение всех категорий в одном поле нарушает атомарность. Есть веская причина того, зачем это было сделано?
0
|
|
|
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
|
|
| 04.11.2012, 16:29 [ТС] | |
|
Мне посоветовали так сделать, при добавление новости, хранить категории через разделитель | т.к это используется не только для выведения похожих новостей.
0
|
|
|
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
|
|
| 04.11.2012, 16:29 | |
|
да ну и что. Это неправильный совет
0
|
|
|
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
|
|
| 04.11.2012, 16:32 [ТС] | |
|
Но чтобы всё переделать уйдёт очень много времени и придётся менять всю структуру сайта, по этому я пока придерживаюсь этому варианту.
0
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
| 04.11.2012, 16:45 | |
|
а если не переделать сейчас, а переделывать потом, рано или позно вы такого наворотите, что переделывтаь вообще смысла не будет, а придётся рпосто всё удалить и начать сначала
![]() То что вы сдеали, влияет и на быстродействие и на расширяемость. Вы уже столкнулись с тем что надо что то сделать, а теперь как то придётся изворачиваться и делать костылями. что замедлит работу сайта и увеличит нагрузку. Как у вас выборка происходит по категории? Регуляркой что ли? А если у вас будет 10 000 новостей, и 20 категорий, и к вам зайдёт 1000 юзеров. Вы представляете какая будет нагрузка?) Вообщем переделывать начните лучше сейчас
0
|
|
|
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
|
|
| 04.11.2012, 17:03 [ТС] | |
|
Хорошо, как тогда посоветуете хранить категории?
0
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
| 04.11.2012, 17:25 | |
|
Связь многие ко многим.
Таблица новостей. Таблица категорий. И таблица связи. В таблице новостей нет поля для категории. В таблице связей всего 2 поля, это id новости и id категории. Вместе онои образуют первичный ключ.
0
|
|
|
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
|
|
| 04.11.2012, 17:29 | |
|
третью таблицу зачем тут?
0
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||
| 04.11.2012, 17:30 | ||
Я с удовольствием посмотрю на него
1
|
||
|
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
|
|
| 04.11.2012, 17:31 | |
|
а многие ко многим зачем?
Новость может находиться в двух разных категориях?
0
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||
| 04.11.2012, 17:34 | ||
|
А тема вообще о чём?) Вы сами сказали что в одном поле нельзя хранить две категории
![]()
0
|
||
|
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
|
|
| 04.11.2012, 17:36 [ТС] | |
|
Это же будет очень большая таблица, например, 1 новость, 5 категорий, значит в таблице связи будет 5 записей, верно всё понял? если будет очень большая таблица это же будет грузить сервер.
0
|
|
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
||||||
| 04.11.2012, 17:38 | ||||||
|
Makson, DrobyshevAlex пишет всё верно - желательно переделать, но если очень в облом, то можно использовать:
0
|
||||||
|
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
|
|
| 04.11.2012, 17:39 [ТС] | |
|
Выше почитал посты, я так и не понял можно ли в 1 поле хранить sport|politik или нельзя?
0
|
|
|
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
|
|||
| 04.11.2012, 17:41 | |||
|
Добавлено через 54 секунды
0
|
|||
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
|
| 04.11.2012, 17:43 | |
|
0
|
|
|
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
|
||||||
| 04.11.2012, 17:44 [ТС] | ||||||
|
Придётся всё же переделывать.
Начёт
0
|
||||||
| 04.11.2012, 17:44 | |
|
Помогаю со студенческими работами здесь
20
Разбивка строки на слова Разбивка строки на слова
Разбивка статей по категориям Разбивка таблицы на 2 колонки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
Сайт называется reddit: The Thinkpad X220 Tablet is the best budget school laptop period.
Это. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|