Сложная работа с переменными, сортировка

Dima85

Новичок
База
Код:
ID     VALUE    SORT
1      222      2
2      234      1
3      433      4
4      343      3
5      234      5
6      342      6
Есть переменная $data где у меня:
1=222;2=234;3=433;4=343
Первая цифра это ID вторая это VALUE. Подскажите пожалуйста как отсортировать их в переменной опираясь на данные с SORT
То есть должно быть вот так:
2=234;1=222;4=343;3=433
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Выбрать в нужном порядке с базы и потом просто соединить в строку. Или ты не знаешь как переменную разбить на куски, вынуть с базы только нужные переменные и только потом соединить в строку в нужном порядке?
 

Dima85

Новичок
Нужно переменную разбить на куски, вынуть с базы только нужные переменные и только потом соединить в строку в нужном порядке.
 

Sufir

Я не волшебник, я только учусь
Опиши задачу более подробно.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Dima85,
1. разбиваешь строку по символу <;>
2. Образовавшиеся пары разбиваешь по символу <=>, берешь первые части, что идут до =.
3. Выбираешь все данные, используя в качестве параметров выборку WHERE id IN(тут склеиваешь свой массив id в строку через запятую) ORDET BY sort
4. тыкаешь <Мне нравится под этой мессагой>
 

Dima85

Новичок
Хорошо, как-то так. Но как дальше?
Код:
  $dataarray=explode(';', $data);
  for ($i=0; $i<count($dataarray); $i++) {
      $idarray=explode('=', $dataarray);
      for ($y=0; $y<count($dataarray); $y++) {
           mysql_query(WHERE id IN(тут склеиваешь свой массив id в строку через запятую) ORDET BY sort);
      }
}
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
for не надо юзать, надо просто склеить данные массива $idarray в строку через join()

PS: Ну и запрос к базе надо полный написать, я просто условие привел, в конце которое
 

Dima85

Новичок
Давайте я вам лучше заплачу что ли, и вы покажете готовый вариант. Я не знаю как сделать то что вы мне советуете.
 
Последнее редактирование:

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
У тебя денег не хватит ;) иди уже прочитай про вышеописанные функции. Там дел на минут 20, даже со словарем, если ты не в ладах с английским. Потом написать SELECT запрос, который у тебя завершится уже почти готовой конструкцией) Ленивых в нашей области не любят, это так - на заметку. Дуй читать.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Вчера меня собеседовали в один из проектов Rocket Internet, есть такой крупный венчурный фонд, так вот они заставили писать скрипты в режиме расшаренного экрана для такой задачи: вывести квадрат из звездочек с заданным размером бедра, как
* * *
* * *
* * *
потом переписать на вывод равнобедренного треугольника.
Одно из самых тупых технических собеседований в моей жизни, а я их люблю, в принципе.
Читая этот топик, я начинаю догадываться зачем они это делают :)
 
Последнее редактирование:

MiksIr

miksir@home:~$
Даже в теории не могу представить, как из звездочек 3х3 сделать равнобедренный треугольник.... =(
А, не, понял, прямоугольный...
Чорт, сила стереотипов образования, привыкаешь, что основание у равнобедренного - снизу.
 
Последнее редактирование:

Yoskaldyr

"Спамер"
Партнер клуба
@grigori, было бы веселее если бы попросили равносторонний треугольник нарисовать :)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
*
* *
* * *
тупо for ($i=0;$i<$count;++$i) $triangle[] = array_fill($i,'*');
foreach($triangle as $line) echo implode(' ',$line),"\n";

еще была задачка на поиск пропущенного элемента в автоинкрементной последовательности int - про двоичный поиск
странно что сортировку пузырьком не вспоминили
 
Последнее редактирование:

MiksIr

miksir@home:~$
array_fill(0, $i, '*') и for ($i=1;$i<=$count;++$i)

Но тогда уж $lines[] = str_repeat("*", $i); и без foreach-а просто echo implode("\n", $lines);
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
терпеть не могу ребусы, головоломки, кроссворды, олимпиады - онанизм какой-то =)

я понимаю задачу вида: на входе X тысяч долларов на N месяцев и описание целей, надо просчитать выполнимость, договориться в команде, распланировать, расписать по тикетам, и раз в неделю релизить - вот это мое
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
твоя задача организация, там алгоритм.. да, от такого алгоритма пользы мало, хотя с организаторской точки зрения - найти того кто считать умеет, может и нормальная
 
Сверху