Как создать псевдоним SEF для строкового значения БД - PullRequest
0 голосов
/ 16 октября 2011

У меня есть таблица БД с именем games, которая, скажем так, для упрощения содержит столбцы "id" и "gametitle" и уже содержит примерно 7000 строк.

Что я хотел бы сделать, так это иметь кусокSQL, который генерирует псевдоним SEF для названия игры, которое я могу использовать в URL (у меня успешно выполняется перезапись URL на сайте).

Новое поле будет введено в новый столбец с именем "gamealias".

Так, например, если бы у меня был заголовок игры "Halo: Combat Evolved", он отбрасывал бы любых специальных персонажей и производил бы что-то похожее на "halo-battle-evolved".Все псевдонимы в таблице должны быть уникальными, так как они будут использоваться в URL игры ... например, http://thegamesdb.net/game/halo-combat-evolved/

Также было бы неплохо, если бы после вставки новой строкипсевдоним может быть сгенерирован автоматически из SQL без необходимости обрабатывать его в PHP (возможно, с использованием значения по умолчанию для полей sql), хотя я не против сделать это в PHP, если это невозможно магическим образом в SQL.

1 Ответ

0 голосов
/ 16 октября 2011

Я думаю, что это может быть сделано в MySQL с использованием триггера и UDF с заменой регулярных выражений, но это, вероятно, будет более простой маршрут, только с использованием PHP.Вы могли бы легко гарантировать уникальность gamealias, если бы вы интегрировали первичный ключ заголовка со строкой.Например, рассмотрим что-нибудь, что выдаст «halo-battle-evolved-321».

...