Закажите результаты запроса mysql в столбце, основанном на значениях в плоском массиве PHP [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Закажите результаты запроса mysql в столбце, основанном на значениях в плоском массиве PHP [дубликат]

Сообщение 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.

, надеюсь, кто -то из вас может вернуть меня в нужное русло.

много спасибо заранее. < / п>

Подробнее здесь: https://stackoverflow.com/questions/207 ... -php-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»