Мне нужно сортировать ассоциативную араню в точном порядке содержания другого массива.
Массивы получают на 2 отдельных SQL-запросов (указано ниже). Запросы не могут быть объединены только с одним запросом, поэтому я должен отсортировать второй массив в порядке первого. < /P>
Это массивы: < /p >
#Array which contains the id's in needed order
$sorting_array = array(1,2,3,8,5,6,7,9,11,10...);
#Array which contains the values for the id's, but in order of "id" ASC
$array_to_sort = array(
array("id" => "1", "name" => "text1", "help" => "helptxt2");
array("id" => "2", "name" => "text2", "help" => "helptxt2");
);
< /code>
sql-queries:
sql-ouery для $ sorting_array:
(DB-поля 'conf' настроен как «Текст», может быть, это моя проблема, так что я должен сначала взорвать и взорвать записи, прежде чем я смогу использовать их для следующего запроса.) < /p>
$result = sql_query("select conf from config where user='me'", $dbi);
$conf = sql_fetch_array($result, $dbi);
$temp = explode(',', $conf[0]);
$new = array($temp[0], $temp[1], $temp[2], $temp[3],$temp[4],
$temp[5], $temp[6], $temp[7], $temp[8], $temp[9],
$temp[10], ...);#Array has max 30 entries, so I count them down here
$sorting_array = implode(',', $new);
< /code>
sql-ouery для $ array_to_sort: < /p>
$result = sql_query("SELECT id, name, helptxt
FROM table
WHERE id IN ($sorting_array)
AND language='english'");
while ($array_to_sort[] = mysql_fetch_array ($result, MYSQL_ASSOC)) {}
array_pop($array_to_sort);#deleting the last null entry
< /code>
Я мог бы получить доступ к $ array_to_sort следующим образом, чтобы увидеть содержимое один за другим:
(если приведенные ниже строки не соответствуют массиву выше , чем я смешал его.echo $array_to_sort[0]["id"];
echo $array_to_sort[0]["name"];
echo $array_to_sort[0]["helptxt"];
< /code>
Но он сортируется по «id» asc, но мне нужна именно такая сортировка, как в $ sorting_array.
Я попробовал некоторые вещи с:
< /p>
while(list(,$array_to_sort) = each($sorting_array)){
$i++;
echo $array_to_sort . "
";
}
< /code>
, который приносит только идентификатор в правильном порядке, но не в контенте. Теперь я немного смущен, так как я попробовал так много вещей, но все в конечном итоге дали мне те же результаты. T принес это на работу.
Все результаты моих поисков только что показали, как сортировать ASC или DESC, но не то, что я хочу.
< /p>
Кроме того Я должен признаться, что я относительно новичок в PHP и MySQL.
, надеюсь, кто -то из вас может вернуть меня в нужное русло.
много спасибо заранее. < / п>
Подробнее здесь: https://stackoverflow.com/questions/207 ... -php-array
Закажите результаты запроса mysql в столбце, основанном на значениях в плоском массиве PHP [дубликат] ⇐ Php
Кемеровские программисты php общаются здесь
1738041421
Anonymous
Мне нужно сортировать ассоциативную араню в точном порядке содержания другого массива.
Массивы получают на 2 отдельных SQL-запросов (указано ниже). Запросы не могут быть объединены только с одним запросом, поэтому я должен отсортировать второй массив в порядке первого. < /P>
Это массивы: < /p >
#Array which contains the id's in needed order
$sorting_array = array(1,2,3,8,5,6,7,9,11,10...);
#Array which contains the values for the id's, but in order of "id" ASC
$array_to_sort = array(
array("id" => "1", "name" => "text1", "help" => "helptxt2");
array("id" => "2", "name" => "text2", "help" => "helptxt2");
);
< /code>
sql-queries:
sql-ouery для $ sorting_array:
(DB-поля 'conf' настроен как «Текст», может быть, это моя проблема, так что я должен сначала взорвать и взорвать записи, прежде чем я смогу использовать их для следующего запроса.) < /p>
$result = sql_query("select conf from config where user='me'", $dbi);
$conf = sql_fetch_array($result, $dbi);
$temp = explode(',', $conf[0]);
$new = array($temp[0], $temp[1], $temp[2], $temp[3],$temp[4],
$temp[5], $temp[6], $temp[7], $temp[8], $temp[9],
$temp[10], ...);#Array has max 30 entries, so I count them down here
$sorting_array = implode(',', $new);
< /code>
sql-ouery для $ array_to_sort: < /p>
$result = sql_query("SELECT id, name, helptxt
FROM table
WHERE id IN ($sorting_array)
AND language='english'");
while ($array_to_sort[] = mysql_fetch_array ($result, MYSQL_ASSOC)) {}
array_pop($array_to_sort);#deleting the last null entry
< /code>
Я мог бы получить доступ к $ array_to_sort следующим образом, чтобы увидеть содержимое один за другим:
(если приведенные ниже строки не соответствуют массиву выше , чем я смешал его.echo $array_to_sort[0]["id"];
echo $array_to_sort[0]["name"];
echo $array_to_sort[0]["helptxt"];
< /code>
Но он сортируется по «id» asc, но мне нужна именно такая сортировка, как в $ sorting_array.
Я попробовал некоторые вещи с:
< /p>
while(list(,$array_to_sort) = each($sorting_array)){
$i++;
echo $array_to_sort . "
";
}
< /code>
, который приносит только идентификатор в правильном порядке, но не в контенте. Теперь я немного смущен, так как я попробовал так много вещей, но все в конечном итоге дали мне те же результаты. T принес это на работу.
Все результаты моих поисков только что показали, как сортировать ASC или DESC, но не то, что я хочу.
< /p>
Кроме того Я должен признаться, что я относительно новичок в PHP и MySQL.
, надеюсь, кто -то из вас может вернуть меня в нужное русло.
много спасибо заранее. < / п>
Подробнее здесь: [url]https://stackoverflow.com/questions/2073311/order-mysql-query-results-by-a-column-based-on-values-in-a-flat-php-array[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия