Spear
почемучка
помогите, пожалуйста с сортировкой из БДпо нескольким полям в алф. пор
Здравствуйте,
у меня такая проблемка (сам не знаю как решить - мсучаюсь долго уже)
есть такая таблица в бд:
id | name | name2
таблица с данными по разным товарам. У каждого товара может быть два названия (например первое на русском, второе на английском, или ещё какой-нить случай)
Допустим человек хочет просмотреть товары на бувку "S"
в бд делается такой запрос:
select ... from ... where .. AND (name rlike '$VerbQuery' or name2 rlike '$VerbQuery') order by name
пока что все нормально.
Потом, в цикле, проверяется какое имя из двух названий сорвпало с запросом (например первое имя "Saturn" второе - "Сатурн". Совпадает первое). Так вот, какое имя совпало - то и показывается полльзователю. Все работает нормально, НО возникла такая проблема6
допустим, в таблице есть запись:
999 | TEST | Saturn
и
999 | Whirpool | SZ
(сори, последний пример по названиям хромает, но это так - для примера)
Так вот, человек опять выбирает товары на букву "S"
и ему выводит:
SZ
Saturn
То есть уже портится верная сортировка по названию, так как с точки зрения кода все верно - ортируем по полю name, а у SZ поле name выше по алфавиту чем у Saturn, но пользователь будет в растерянности так как по настоящему названий очень много, и вместо правильного враианта
Saturn
SZ
они видят
SZ
Saturn
И тому подобные вещи.
Подскажите, пожалуйста. как можно решить эту проблему? Я пробовал сделать order by name,name2 - думал что мало ли, вдруг БД будет сортировать все по обоим полям, но не получилось.. вообщем даже не знаю как решить проблему
Буду рад Вашей помощи и советам.
Помогите, пожалуйста.
-~{}~ 17.07.05 02:56:
совсем забыл:
в примере, по выборке на латинскую букву:
$VerbQuery = "^"; // на букву S
Здравствуйте,
у меня такая проблемка (сам не знаю как решить - мсучаюсь долго уже)
есть такая таблица в бд:
id | name | name2
таблица с данными по разным товарам. У каждого товара может быть два названия (например первое на русском, второе на английском, или ещё какой-нить случай)
Допустим человек хочет просмотреть товары на бувку "S"
в бд делается такой запрос:
select ... from ... where .. AND (name rlike '$VerbQuery' or name2 rlike '$VerbQuery') order by name
пока что все нормально.
Потом, в цикле, проверяется какое имя из двух названий сорвпало с запросом (например первое имя "Saturn" второе - "Сатурн". Совпадает первое). Так вот, какое имя совпало - то и показывается полльзователю. Все работает нормально, НО возникла такая проблема6
допустим, в таблице есть запись:
999 | TEST | Saturn
и
999 | Whirpool | SZ
(сори, последний пример по названиям хромает, но это так - для примера)
Так вот, человек опять выбирает товары на букву "S"
и ему выводит:
SZ
Saturn
То есть уже портится верная сортировка по названию, так как с точки зрения кода все верно - ортируем по полю name, а у SZ поле name выше по алфавиту чем у Saturn, но пользователь будет в растерянности так как по настоящему названий очень много, и вместо правильного враианта
Saturn
SZ
они видят
SZ
Saturn
И тому подобные вещи.
Подскажите, пожалуйста. как можно решить эту проблему? Я пробовал сделать order by name,name2 - думал что мало ли, вдруг БД будет сортировать все по обоим полям, но не получилось.. вообщем даже не знаю как решить проблему

Буду рад Вашей помощи и советам.
Помогите, пожалуйста.
-~{}~ 17.07.05 02:56:
совсем забыл:
в примере, по выборке на латинскую букву:
$VerbQuery = "^