Этот вопрос следует из Набор результатов соединения MYSQL, уничтоженных во время IN () в предложении where?
Итак, краткая версия вопроса. Как превратить строку, возвращаемую GROUP_CONCAT, в список выражений, разделенных запятыми, который IN () будет рассматривать как список из нескольких элементов, которые нужно перебрать?
NB. В документации MySQL, похоже, упоминаются «(запятые, разделенные, списки)», используемые IN (), как «списки выражений», и, что интересно, страницы в IN () кажутся более или менее единственными страницами в документы MySQL, чтобы всегда ссылаться на списки выражений. Поэтому я не уверен, будут ли здесь полезны функции, предназначенные для создания массивов или временных таблиц.
Длинная версия вопроса, основанная на примерах: Из БД с двумя таблицами, например:
SELECT id, name, GROUP_CONCAT(tag_id) FROM person INNER JOIN tag ON person.id = tag.person_id GROUP BY person.id;
+----+------+----------------------+
| id | name | GROUP_CONCAT(tag_id) |
+----+------+----------------------+
| 1 | Bob | 1,2 |
| 2 | Jill | 2,3 |
+----+------+----------------------+
Как я могу это изменить, поскольку, поскольку он использует строку, обрабатывается как логический эквивалент (1 = X) AND (2 = X) ... Я использую событие onbeforeunload в Javascript, отлично работает.
Теперь я хочу запустить некоторый код Javascript, когда пользователь нажимает «Отмена» в появившемся диалоговом окне (говоря, что он не хочет уходить со страницы).
Это возможно? Я тоже использую jQuery, так что, может быть, есть событие, подобное beforeunloadcancel, к которому я могу привязаться?
ОБНОВЛЕНИЕ : Идея состоит в том, чтобы на самом деле сохранять и направлять пользователей на другую веб-страницу, если они выбрали отмену