Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - [решено] Сортируем строку...

Ответить
Настройки темы
MySQL - [решено] Сортируем строку...

Пользователь


Сообщения: 53
Благодарности: 1

Профиль | Отправить PM | Цитировать


Есть таблица.. Вид :
(кусок из таблицы)

id-|n1|n2-|n3|n4| ....
---------------------------
11|0--|0--|7--|2--| ...
---------------------------
21|2--|5--|0--|0--| ...
---------------------------
31|1--|0--|3--|0--| ...
---------------------------

Ну как то так... Вот.. Есть цыкл, в котором нужно помимо вывода переменных, выбрать из строки переменные больше нуля, и присвоить их. (Всего три переменных, к примеру $s1, $s2, $s3 (остальные же будут 100% нулями, т.е. в этих трёх переменых и будут те три значения что не нули). Получается что со строки нужно только те значения что не равны нулю.. И так что..
(Смотрим по первой строке):
$s1 = 0; (не зависимо какой n1 или n2)
$s2 = 7;
$s3 = 2;

(По третьей):
$s1 = 1;
$s2 = 3;
$s3 = 0; (не зависимо какой - n2 или n4)

(Подразумевается что выборка будет в цылке while..) И ещё, в добавок.. Если же переменных не равных нулю, меньше чем три, то добавляться должна ещё одна (любая), с нулевым значением. Теперь вопрос.. Как сделать эту выборку? Именно в while.... (Есил это вообще имеет значения.)

-------
Не знаешь, спрашуй...
Знаешь, доказуй...


Отправлено: 20:30, 07-04-2008

 

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Выборку то никак и не сделаешь - надо программно выискивать ненулевые значения. В PHP есть удобные функции для работы с массивом, так что понадобится всего 1-2 строчки кода

-------
Fortes fortuna adiuvat


Отправлено: 22:43, 07-04-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 53
Благодарности: 1

Профиль | Отправить PM | Цитировать


Ок.. Тогда подругому. Как лучше (и можно ли) чрезе LIMIT это всё вывести. Хотя там опять же нужно отсортировать.. Эх... Какие есть идеи?

ЗЫ: На счёт пхп, в какую сторону рыть? Команда....

-------
Не знаешь, спрашуй...
Знаешь, доказуй...


Отправлено: 22:55, 07-04-2008 | #3


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Я бы рыл сторону другого представления данных.
Например, использовал бы таблицу из трёх столбцов: id, n, значение

Отправлено: 09:38, 08-04-2008 | #4


Пользователь


Сообщения: 53
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Busla:
использовал бы таблицу из трёх столбцов: id, n, значение »
Это, как я понимаю, при добавлении данных, добавлялась бы не строка, а столбец? Не.. Я считаю это не логичный ход был бы...

-------
Не знаешь, спрашуй...
Знаешь, доказуй...


Отправлено: 21:51, 08-04-2008 | #5


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


как-то вы очень странно понимаете - было бы даже интересно посмотреть, как это может выглядеть

Отправлено: 12:00, 09-04-2008 | #6


Пользователь


Сообщения: 53
Благодарности: 1

Профиль | Отправить PM | Цитировать


Люди с phpclub быстрей меня поняли.
Кому интересно то всё было довольно таки просто :
Код: Выделить весь код
выбрали строку в массив
$array = array( n1, n2,n3,n4);
отсортировали по убыванию
$s1 = $array[0];
$s2 = $array[1];
$s3 = $array[2];
by HraKK

2Busla Нет, это вы не знаете того что в таблице, я привёл только часть её, а там дальше и переменные типа текст. И получается в точности как вы предлогаете.

Добавил: Моё имхо, в общем мы не поняли друг друга.

-------
Не знаешь, спрашуй...
Знаешь, доказуй...


Отправлено: 19:16, 09-04-2008 | #7


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


stone_wings,
В качестве оптимизации лучше просто пройтись по массиву и найти ненулевые значения, а не сортировать

-------
Fortes fortuna adiuvat

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:53, 09-04-2008 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - [решено] Сортируем строку...

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Превратить строку в масив Fraks AutoIt 6 20-01-2010 02:17
[решено] Обрезать строку до указанного символа rimm AutoIt 5 25-09-2009 16:32
[решено] Как заменить строку [27] в файле? semiono AutoIt 8 05-04-2009 02:56
Интерфейс - Нужен твик -убрать в проводнике "Избранные ссылки", адресную строку и строку поиска Mishechka Microsoft Windows Vista 18 16-09-2008 16:19
Прочие БД - [решено] Чтение текущего пользователя в строку ЕвгенийN Программирование и базы данных 1 23-05-2008 06:01




 
Переход