1. Patronchik27.07.2024 в 23:23от
  2. TYSON27.07.2024 в 23:23от
Загрузка...

Помощь с сортировкой PHP

Тема в разделе "Web-программирование", создана пользователем sptmbr, 14.02.2017.

Статус темы:
Закрыта.
  1. sptmbr

    Маслянные булки
    sptmbr

    Статус:
    Оффлайн
    Регистрация:
    11.12.13
    Сообщения:
    823
    Репутация:
    1.150 +/-
    Доброго времени суток.

    Нужна помощь с сортировкой, выполняется запрос с объединением таблиц
    [​IMG]
    Перед циклом $i = 0;
    В цикле происходит вывод и формируется массив из id страны и инкрементом $i
    Код:
    $i=0;
    while (){
     $rangs[ $con['country_id'] ] = $i;
     $i++;
     echo  $rangs[ $con['country_id'] ];
    }
    
    через print_r() вывел массив

    [​IMG]

    Если сортировать поле country_id по DESC или ASC
    Он сортирует, но вот инкремент не меняется
    [​IMG]

    Как можно привязать этот инкремент к id страны?
     
  2. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    22
    Репутация:
    2.074 +/-
    Не очень понимаю что ты хочешь,типо на каждой итерации привязывать index к id страны на текущей итерации ?
     
  3. man

    man

    Статус:
    Оффлайн
    Регистрация:
    30.04.10
    Сообщения:
    2.241
    Репутация:
    792 +/-
    Чет тоже не понял чего он хочет
     
  4. man

    man

    Статус:
    Оффлайн
    Регистрация:
    30.04.10
    Сообщения:
    2.241
    Репутация:
    792 +/-
    А, ну короче тип хочет инкремент привязать каким-то чудесным образом, при том что он не понимает, что инкремент задается с 0 и будет идти по порядку перебирая все элементы массива ))

    Задача какая-то странная, зачем загонять в массив mysql запрос, присваивать число... Странная задачка, нужно больше инфы
     
  5. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    22
    Репутация:
    2.074 +/-
    Ну если он так хочет сделать,то можно на каждой итерации присваивать какой то переменной ID страны,и выводить на экран
     
  6. man

    man

    Статус:
    Оффлайн
    Регистрация:
    30.04.10
    Сообщения:
    2.241
    Репутация:
    792 +/-
    А можно еще проще, отдельная таблица с ID => страна
    И после уже когда идет перебор массива из поста ТС выбирать по ключу страны из массива ID=>страна

    Но если он порнограф, то может и заняться извращением )
     
  7. sptmbr

    Маслянные булки
    sptmbr

    Статус:
    Оффлайн
    Регистрация:
    11.12.13
    Сообщения:
    823
    Репутация:
    1.150 +/-
    @man @Ino
    Да просто присваивается место в таблице, типа 1 место - наибольшее количество золотых медалей. Как в командных зачетах на олимпиаде. Если сортировать по серебряным медалям, то на первое место встает страна, которая имеет наибольшее количество серебряных медалей. Сказали сделать, как я написал выше, ключ задается по id страны, но сортировка не идет.
     
  8. man

    man

    Статус:
    Оффлайн
    Регистрация:
    30.04.10
    Сообщения:
    2.241
    Репутация:
    792 +/-
    Тебе надо вывести топ стран по кол-вам медалей?
     
  9. sptmbr

    Маслянные булки
    sptmbr

    Статус:
    Оффлайн
    Регистрация:
    11.12.13
    Сообщения:
    823
    Репутация:
    1.150 +/-
    Да, с привязкой к id страны.
     
      Freоn, mikser022 и groun112 нравится это.
  10. man

    man

    Статус:
    Оффлайн
    Регистрация:
    30.04.10
    Сообщения:
    2.241
    Репутация:
    792 +/-
    и в чем проблема?
    ID стран у тебя есть, сортировку по полю делаешь и все.
    Если нужно по общему кол-ву медалей, то делаешь сумму 3х полей с медалями, сортируешь по этому числу
     
  11. sptmbr

    Маслянные булки
    sptmbr

    Статус:
    Оффлайн
    Регистрация:
    11.12.13
    Сообщения:
    823
    Репутация:
    1.150 +/-
    Короче решил проблему. Просто делать ещё один запрос, заполнять тот массив rangs[].. А уже в другом массиве выводить. Можно close.
     
      djfrost и mikser022 нравится это.
Статус темы:
Закрыта.