Как да сортирам по дадена стойност от масив

pacul88

Registered
Целта ми е как точно от даден масив да сортирам данните в таблицата като задам да се сортира по дадената стойност.Мисълта мие в кода там където е
Код:
            <div id="groups">
                <form method="POST" action="">
                    Сортирай по:
                    <select name="groups">
                        <?php
                        foreach ($groups as $key => $value) {
                            echo '<option value="' . $key . '">' . $value .
                            '</option>';
                        }
                        ?>
                    </select>
                    <input type="submit" name="groups" value="Обнови">
                </form>
            </div>
като избера дадена стойност и натисна обнови да ми ги подрежда в таблицата по зададената стойност.Благодаря ви предварително.
Eто го и кода:
function.php
Код:
<?php

function myheader($title) {
    require 'group.php';
    ?>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <link rel="stylesheet" type="text/css" href="css/style.css">
            <title><?php echo $title ?></title>
        </head>
        <body>
            <div id="topmenu">
                <a class="myButton" href="added.php">Добави раход</a>
                <a class="myButton" href="edit.php">Редактиране на раход</a>
            </div>
            <div id="groups">
                <form method="POST" action="">
                    Сортирай по:
                    <select name="groups">
                        <?php
                        foreach ($groups as $key => $value) {
                            echo '<option value="' . $key . '">' . $value .
                            '</option>';
                        }
                        ?>
                    </select>
                    <input type="submit" name="groups" value="Обнови">
                </form>
            </div>
            <div class="showinfo">
                <table style="border: 1px;" align="center">
                    <tr>
                        <td>Дата</td>
                        <td>Продукт</td>
                        <td>Цена</td>
                        <td>Група</td>
                    </tr>
                    <?php
                    if (file_exists('razhod.txt')) {
                        $result = file('razhod.txt');
                        foreach ($result as $value) {
                            $columns = explode('!', $value);
                            echo '<tr>
                <td>' . $columns[0] . '</td>
                <td>' . $columns[1] . '</td>
                <td>' . $columns[2] . '</td>
                <td>' . $groups[trim($columns[3])] . '</td>
                </tr>';
                        }
                    }
                    ?>
                </table>
            </div>
            <?php
        }

        function footer() {
            echo' </body>
    </html>';
        }

        function addheader($title) {
            ?>
            <!DOCTYPE html>
        <html>
            <head>
                <meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8">
                <link rel = "stylesheet" type = "text/css" href = "css/style.css">
                <title><?php echo $title ?></title>
            </head>
            <body>
                <div id="topmenu">
                    <a class="myButton" href="index.php">Начало</a>
                    <a class="myButton" href="edit.php">Редактиране на раход</a>
                </div>
                <?php
            }
            ?>
 
хаха .. на Иван Ванков лекциите ;д

Значи, идеята е много проста - променяш формата да ползва метод ГЕТ за по лесно и като се прати формата УРЛ-а ти ще има следния вид:
Код:
localhost/index.php?group=2

ся тамм кадето изкарваш записите от ФАЙЛА

добави една проверка :
PHP:
if($groups[trim($columns[3])]  == $getGroup)

И трябва да получишшш :
Код:
 <?php
                    if (file_exists('razhod.txt')) {
                          $getGroup = (int)$_GET['group']; // wzimash GROUP ot url-a
                        $result = file('razhod.txt');
                        foreach ($result as $value) {
                            $columns = explode('!', $value);
                if($groups[trim($columns[3])]  == $getGroup) // priwerqwash dali gupata ot faila e rawna na izbarnata i ba,mmm
               { 
                            echo '<tr>
                <td>' . $columns[0] . '</td>
                <td>' . $columns[1] . '</td>
                <td>' . $columns[2] . '</td>
                <td>' . $groups[trim($columns[3])] . '</td>
                </tr>';
               }
              else{ echo "nqma ot tazi kategoriq"; }
                        }
                    }
                    ?>
                </table>
            </div>
            <?php
        }
:?: :?: [/php]
 
Да но мисълта е да се подреждат в таблицата по определената стойност след натискането на бутона Обнови. Иначе това дето си ми казал стана но трябва да се подреждат в таблицата по зададената стойност.
(хаха .. на Иван Ванков лекциите ;д
Да не би и ти да гледаш онлайн лекцийте :)
)
 
още по лесно :

промени формата
HTML:
<div id="groups">
                <form method="GET" action="">
                    Сортирай по:
                    <select name="group">
                        <?php
                        foreach ($groups as $key => $value) {
                            echo '<option value="' . $key . '">' . $value .
                            '</option>';
                        }
                        ?>
                    </select>
                    <input type="submit" name="groups" value="Обнови">
                </form>
            </div>
и при натискане на субмит бутона пак ти са променя урл-а и особенноста тука е че трябва да провериш дали я има тая гет променлива и ако я има да сротирваш, иначе си искарваш всички резултати.(това го забравих в предишния пример)



PHP:
 <?php
                    if (file_exists('razhod.txt')) {
                          $getGroup = (int)$_GET['group']; // wzimash GROUP ot url-a
                        $result = file('razhod.txt');
                        foreach ($result as $value) {
                            $columns = explode('!', $value);
                if( strlen($getGroup) >= 1 AND strlen($getGroup) < 3 AND trim($columns[3]) == $getGroup) // priwerqwash dali gupata ot faila e rawna na izbarnata i bammm
               {
                            echo '<tr>
                <td>' . $columns[0] . '</td>
                <td>' . $columns[1] . '</td>
                <td>' . $columns[2] . '</td>
                <td>' . $groups[trim($columns[$getGroup])] . '</td>
                </tr>';
               }
              else{ // inache izkarawash rezulattite kakto sa si .. 
                    
                      echo '<tr>
                <td>' . $columns[0] . '</td>
                <td>' . $columns[1] . '</td>
                <td>' . $columns[2] . '</td>
                <td>' . $groups[trim($columns[3])] . '</td>
                </tr>';
                 }
                        }
                    }
                    ?>
                </table>
            </div>
            <?php
        }

Аз не ги гледам, ама има много хора, които ми искат помоща над задачите на Гатака .. :)
:)


Пробвайй кода и си поиграй малко за да го научиш .. :)
:?: :?:
 

Горе