Автор Тема: Сортировка в MySQL чтоб как я хочу  (Прочитано 4739 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Goodwin

  • Гость
Сортировка в MySQL чтоб как я хочу
« : 15 Января 2003, 12:22:59 »
Прайс лежит в базе MySQL.
Есть тем, конечно, индекс, но результат все равно выдается как бог на душу положит.
Скажем, есть в прайсе позиции Стул белый, Стул серый, Стол.
Так он их выдает в таком порядке: Стул белый, Стол, Стул серый.
Как сделать так, чтобы расположение позиций можно было менять (или добавить позицию в центр прайса, а не в конец)?
Сейчас я вижу только один вариант - вручную переписывать индекс, но при большом объеме это не выход.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Сортировка в MySQL чтоб как я хочу
« Ответ #1 : 15 Января 2003, 12:36:38 »
Поиск по этому форуму.
Много раз обсуждалось.
The documentations is your friend

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка в MySQL чтоб как я хочу
« Ответ #2 : 15 Января 2003, 12:36:50 »
Введи поде в таблице, характеризующее позицию товара в прайс листе.
AS IS...

Гость

  • Гость
Сортировка в MySQL чтоб как я хочу
« Ответ #3 : 15 Января 2003, 15:39:51 »
Да я уж обыскался. Какие слова не в вожу - никак то, что надо не находится.

>>Введи поде в таблице, характеризующее позицию товара в прайс листе.

Я тоже думал об этом. Но если в таблице сто товаров и я хочу на пятое место что-то добавить, то ко всем остальным придется вручную добавлять единичку? Можно, конечно, это реализовать программно, но по-моему это можно как-то проще сделать. Должна же быть какая-то функция "вставить между строк". :-)

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка в MySQL чтоб как я хочу
« Ответ #4 : 15 Января 2003, 15:47:52 »
> Должна же быть какая-то функция "вставить между строк". :-)
нет, не должна, потому что СУБД хранит данные в неупорядоченном виде и ей все равно какая у тебя по счету эта строка 5я или 7я.

> о ко всем остальным придется вручную добавлять единичку?
сложно сделать:

update table set position=position+1 where position>\'some number\' order by position desc

?
На Машине Тьюринга далеко не уедешь.

Оффлайн dope

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Сортировка в MySQL чтоб как я хочу
« Ответ #5 : 14 Апреля 2003, 17:48:48 »
тупо, но я делаю так:

$number 
4;
for (
$i $number$i 10$i++)
{
$query mysql_query("UPDATE test set num = num+1 where num>\'$number\'");
}


но ничего неполучиается, т.е. все значения мне просто переписывает по наименьшему или наибольшему... в запросе проблема, но как его переписать в голову неприходит.. any ideas?

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка в MySQL чтоб как я хочу
« Ответ #6 : 14 Апреля 2003, 21:09:29 »
> все значения мне просто переписывает по наименьшему или наибольшему

вот из этого объяснения я ничего не поняла.

и не плохо бы было добавить ORDER BY к запросу, а то если у тебя это уникальный ключ - будут ошибки выводится.
На Машине Тьюринга далеко не уедешь.

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Сортировка в MySQL чтоб как я хочу
« Ответ #7 : 31 Марта 2004, 15:33:05 »
Братва, а как быть если позиция 10, так как машина автоматом ставит 10 и 100 после 1..., так же 20 и 200 после 2 итд и тп.
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Сортировка в MySQL чтоб как я хочу
« Ответ #8 : 31 Марта 2004, 17:07:44 »
Вот пример:
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Сортировка в MySQL чтоб как я хочу
« Ответ #9 : 31 Марта 2004, 18:23:26 »
alex007
у тебя position какой тип имеет ?
Varchar что-ли ? :)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Сортировка в MySQL чтоб как я хочу
« Ответ #10 : 31 Марта 2004, 18:49:46 »
Макс
По ошибке текстом стояло :) переменил на mediumint, теперь всё -OK
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28