2013-12-20 2 views
-1

У меня есть таблица, где перечислены некоторые фреймы. Проблема в том, что у них разные размеры. Теперь я хочу, чтобы заказать их по размеру:Как заказать номера в фразах? (MySQL)

Вот пример: <iframe width="576" height="432" src="iframeadress" frameborder="0" allowfullscreen></iframe>

теперь я хочу, чтобы выбрать один из этих номеров и порядок их по размеру. Я подумал о PHP-сайте, где я вставляю число для ширины в качестве переменной.

Но я не знаю, как?

Или есть ли другие решения? :)

Я просто найти это один: Mysql order number/character combined но ИДК, если его правой команды:/

+0

Что вы подразумеваете под "* size *"? Ширина? Высота? Общая площадь? – eggyal

+0

это не против, один из них или оба – user3092548

ответ

0
SELECT * 
FROM TABLE 
ORDER BY width 
+0

Я думаю, что дело в том, что нет столбца 'width', а скорее строковый столбец, содержащий фрагменты HTML. – eggyal

+0

Эгады! Я думал, что этот вопрос слишком прост ... +1 к твоему. –

2

В этом случае, вы можете использовать функцию ExtractValue() XML в MySQL, с соответствующим выражением XPath. Например:

ORDER BY ExtractValue(my_column, '//iframe/attribute::width') 

Однако, вы можете рассмотреть вопрос о пригодности к вашему применению схемы, содержащей строки столбцы, содержащие HTML-фрагменты: возможно, столбцы, содержащие различные атрибуты, из которых HTML можно построить в презентации слоя вашей заявки, было бы более уместным?

В более общем плане, вопрос, поставленный в заголовке («Как заказать номера в фразах?») требует либо подходящий анализатор (например, выше ExtractValue() функции) или, если фразы в каком-то регулярного языка, функция, которая может извлекать совпадения регулярным выражением (например, lib_mysqludf_preg).

Смежные вопросы