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

Проблеми, въпроси, модове и темплейти.
Post Reply
pacul88
Нов
Нов
Posts: 14
Joined: Tue Jul 09, 2013 12:08 pm

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

Post by pacul88 » Fri Sep 20, 2013 9:24 am

Целта ми е как точно от даден масив да сортирам данните в таблицата като задам да се сортира по дадената стойност.Мисълта мие в кода там където е

Code: Select all

            <div id="groups">
                <form method="POST" action="">
                    Сортирай по&#58;
                    <select name="groups">
                        <?php
                        foreach &#40;$groups as $key => $value&#41; &#123;
                            echo '<option value="' . $key . '">' . $value .
                            '</option>';
                        &#125;
                        ?>
                    </select>
                    <input type="submit" name="groups" value="Обнови">
                </form>
            </div>
като избера дадена стойност и натисна обнови да ми ги подрежда в таблицата по зададената стойност.Благодаря ви предварително.
Eто го и кода:
function.php

Code: Select all

<?php

function myheader&#40;$title&#41; &#123;
    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="">
                    Сортирай по&#58;
                    <select name="groups">
                        <?php
                        foreach &#40;$groups as $key => $value&#41; &#123;
                            echo '<option value="' . $key . '">' . $value .
                            '</option>';
                        &#125;
                        ?>
                    </select>
                    <input type="submit" name="groups" value="Обнови">
                </form>
            </div>
            <div class="showinfo">
                <table style="border&#58; 1px;" align="center">
                    <tr>
                        <td>Дата</td>
                        <td>Продукт</td>
                        <td>Цена</td>
                        <td>Група</td>
                    </tr>
                    <?php
                    if &#40;file_exists&#40;'razhod.txt'&#41;&#41; &#123;
                        $result = file&#40;'razhod.txt'&#41;;
                        foreach &#40;$result as $value&#41; &#123;
                            $columns = explode&#40;'!', $value&#41;;
                            echo '<tr>
                <td>' . $columns&#91;0&#93; . '</td>
                <td>' . $columns&#91;1&#93; . '</td>
                <td>' . $columns&#91;2&#93; . '</td>
                <td>' . $groups&#91;trim&#40;$columns&#91;3&#93;&#41;&#93; . '</td>
                </tr>';
                        &#125;
                    &#125;
                    ?>
                </table>
            </div>
            <?php
        &#125;

        function footer&#40;&#41; &#123;
            echo' </body>
    </html>';
        &#125;

        function addheader&#40;$title&#41; &#123;
            ?>
            <!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
            &#125;
            ?>

joTunkiq
Потребител
Потребител
Posts: 825
Joined: Tue Dec 25, 2012 10:03 am
Answers: 142
Contact:

Post by joTunkiq » Fri Sep 20, 2013 12:37 pm

хаха .. на Иван Ванков лекциите ;д

Значи, идеята е много проста - променяш формата да ползва метод ГЕТ за по лесно и като се прати формата УРЛ-а ти ще има следния вид:

Code: Select all

 
localhost/index.php?group=2
ся тамм кадето изкарваш записите от ФАЙЛА

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

И трябва да получишшш :

Code: Select all

 <?php
                    if &#40;file_exists&#40;'razhod.txt'&#41;&#41; &#123;
                          $getGroup = &#40;int&#41;$_GET&#91;'group'&#93;; // wzimash GROUP ot url-a
                        $result = file&#40;'razhod.txt'&#41;;
                        foreach &#40;$result as $value&#41; &#123;
                            $columns = explode&#40;'!', $value&#41;;
                if&#40;$groups&#91;trim&#40;$columns&#91;3&#93;&#41;&#93;  == $getGroup&#41; // priwerqwash dali gupata ot faila e rawna na izbarnata i ba,mmm
               &#123; 
                            echo '<tr>
                <td>' . $columns&#91;0&#93; . '</td>
                <td>' . $columns&#91;1&#93; . '</td>
                <td>' . $columns&#91;2&#93; . '</td>
                <td>' . $groups&#91;trim&#40;$columns&#91;3&#93;&#41;&#93; . '</td>
                </tr>';
               &#125;
              else&#123; echo "nqma ot tazi kategoriq"; &#125;
                        &#125;
                    &#125;
                    ?>
                </table>
            </div>
            <?php
        &#125;
:?: :?: [/php]

pacul88
Нов
Нов
Posts: 14
Joined: Tue Jul 09, 2013 12:08 pm

Post by pacul88 » Fri Sep 20, 2013 2:34 pm

Да но мисълта е да се подреждат в таблицата по определената стойност след натискането на бутона Обнови. Иначе това дето си ми казал стана но трябва да се подреждат в таблицата по зададената стойност.
(хаха .. на Иван Ванков лекциите ;д
Да не би и ти да гледаш онлайн лекцийте :)
)

joTunkiq
Потребител
Потребител
Posts: 825
Joined: Tue Dec 25, 2012 10:03 am
Answers: 142
Contact:

Post by joTunkiq » Fri Sep 20, 2013 7:39 pm

още по лесно :

промени формата
[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> [/html]
и при натискане на субмит бутона пак ти са променя урл-а и особенноста тука е че трябва да провериш дали я има тая гет променлива и ако я има да сротирваш, иначе си искарваш всички резултати.(това го забравих в предишния пример)



[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
}
[/php]

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


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

pacul88
Нов
Нов
Posts: 14
Joined: Tue Jul 09, 2013 12:08 pm

Post by pacul88 » Tue Sep 24, 2013 4:33 pm

пак не ги подрежда по зададен тип

Post Reply