За последние 24 часа нас посетили 18474 программиста и 1697 роботов. Сейчас ищут 916 программистов ...

Не могу вывести в нужном порядке.

Тема в разделе "PHP и базы данных", создана пользователем melihovgv, 16 ноя 2012.

  1. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    Имеется код, он выводит на нужной странице определенные значения.
    К примеру сейчас работаю со строкой в ней переменная $mk=50,41,67,49;
    Код (Text):
    1. $sql = "SELECT id,parent,namemenu,chpu FROM `{$a}` WHERE id in(".$mk.") order by id in (".$mk.")";
    Также пробовал, все равно не хочет выводится в заданом направлении.
    Код (Text):
    1. $sql = "SELECT id,parent,namemenu,chpu FROM `{$a}` WHERE id in(".$mk.")";
    На выводе получаю 41,49,50,67.

    Что я делаю не так и почему не выводится в том порядке в котором задаю?
     
  2. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    Решил вот так
    Код (Text):
    1.  
    2. $sql = "SELECT id,parent,namemenu,chpu FROM `{$a}` WHERE id in(".$mk.") && parent = " . $parent . "
    3.  ORDER BY find_in_set(id,".$mk.")";
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    так не делают
     
  4. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    А как правильно?Можете показать на примере?
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну просто выбираешь из БД. а раз у тебя уже есть последовательность, то и выводишь исходя из неё.
    Просто стоит пересобрать массив перед выводом так, чтобы ключем массива был id.

    Добавлено спустя 32 секунды:
    ну типа
    $array[$row['id']] = $row;