Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка XML с помощью PHP.
 
 автор: rmd.   (02.12.2008 в 18:54)   письмо автору
 
 

Добрый день.
Передо мной следующая задача. Средствами PHP я обрабатываю удаленный XML код (таблица магазинов/вещей некой онлайн-игры). Возможности изменить сам XML нет. Ниже приведена часть PHP кода, отвечающего за поиск; этот код выводит информацию об одной вещи в одном магазине, вещи обрабатываются по порядку. Мне необходимо сделать, чтобы таблица с информацией о вещах выводилась с сортировкой по количеству вещей данного типа в наличии в данном магазине. Для каждой вещи эта информация содержится в $good->count.
Номера вещей вразброс, но по возрастанию - поскольку используются только данные, которые найдены поиском (т.е. не все)
(good - любая вещь в магазине.)

    foreach ($shop->good as $good)
    {
        if ($good->thingname == $searchparsed) // проверка, совпадает ли название текущей вещи с искомой строкой
        {
        echo("<tr width='800'><td width=16%>"; // вывод статических html данных
        // вывод динамических данных
        if($shop->attributes()->money == 0) echo "<img src='coin-copper.gif'> ";
        if($shop->attributes()->money == 100) echo "<img src='coin-silver.gif'> ";
        if($shop->attributes()->money == 1000) echo "<img src='coin-gold.gif'> ";
        echo $shop->attributes()->name."<br>(<a href='http://haddan.ru/user.php?id=".$shop->attributes()->ownerid."'>".$shop->attributes()->ownerid."</a>)</td>";
        echo "<td width=16%>".$good->thingname."</td>";
        echo "<td width=16%>".$good->count."</td>";
        if($good->sell) echo "<td width=16%>".$good->sell."</td>";
        else echo "<td width=16%>-</td>";
        if($good->buy) echo "<td width=16%>".$good->buy."</td>";
        else echo "<td width=16%>-</td>";
        echo("</tr>");
        $searchok = 1; // указываем, что поиск нашел хотя бы одну вещь.
        }
    }


К примеру, после выполнения данного кода на выходе получается примерно такая таблица (неважные здесь поля удалены.).

Номер вещи Количество
15 5
17 10
32 7
50 1

Необходимо такую.

Номер вещи Количество
17 10
32 7
15 5
50 1

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования