Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sortowanie malejące i rosnące w jedynym skrypcie
Forum PHP.pl > Forum > Przedszkole
krzysiek11021
Witam,

Mam problem, otóż próbuje stworzyć skrypt

W formularzu wypisuje dowolne 3 liczby. Dajmy na to 1, 2 ,3. I klikam czy chcę je uporządkować rosnąco czy malejąco. Klikam rosnąco i ten formularz wysyła się do mojego pliku php, który oddaję wynik rosnący.

Problem w tym, że mam tylko rosnąco, a nie wiem jak zrobić żeby być też malejąco. Nie wiem, czy dobrze to wytłumaczyłem o co mi chodzi haha.gif Podaje skrypty i screena.

1. Plik Formularz.html
  1. <!doctype html>
  2. <head>
  3. <title>Wysyłanie danych na serwer WWW poprzez formularz</title>
  4. <meta charset="UTF-8" />
  5. </head>
  6. <body>
  7. <form action="wyniki.php" method="get">
  8. <input type="number" name="pole_1" placeholder="Wprowadź liczbę" />
  9. <input type="number" name="pole_2" placeholder="Wprowadź liczbę" />
  10. <input type="number" name="pole_3" placeholder="Wprowadź liczbę" />
  11. <br> Czy sortować malejąco? <br>
  12. <label for="akcja">nie</label>
  13. <input type="radio" name="akcja" value="1" checked="checked">
  14. <label for="akcja">tak</label>
  15. <input type="radio" name="akcja" value="0">
  16. <input type="submit" name="wyslij" value="Wyślij" />
  17. </form>
  18. </body>
  19. </html>


Plik 2 - wyniki.php
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>Testowanie skryptów PHP</title>
  5. <meta charset="UTF-8" />
  6. </head>
  7. <body>
  8. <?php
  9. $multiarray = Array(
  10. Array($_GET["pole_1"], "name" => $_GET["pole_1"]),
  11. Array($_GET["pole_2"], "name" => $_GET["pole_2"]),
  12. Array($_GET["pole_3"], "name" => $_GET["pole_3"]));
  13. $sortuj = $_GET["akcja"];
  14. if ($sortuj) {
  15. $tmp = Array();
  16. foreach($multiarray as &$ma)
  17. $tmp[] = &$ma["name"];
  18. array_multisort($tmp, $multiarray);
  19. foreach($multiarray as &$ma)
  20. echo $ma["name"]."<br/>";
  21. }
  22.  
  23. ?>
  24. </body>
  25. </html>



Po prostu chciałbym mieć możliwość wyboru w tym formularzu czy chce malejąco sortować, czy rosnąco. Głowię się i głowię i nic mi nie przychodzi na myśl.

borabora
  1. $array = Array(
  2. $_GET["pole_1"],
  3. $_GET["pole_2"],
  4. $_GET["pole_3"]
  5. );
  6. $sortuj = $_GET["akcja"];
  7. if ($sortuj)
  8. asort($array);
  9. else rsort($array);
  10.  
  11. foreach($array as $value)
  12. echo $value."<br/>";

jak ktoś Ci wlezie na wynik.php to wywali mu kilka błędów notice. byćmoże to tylko w celu ćwiczenia, ale jeżeli to część większej całości to wypadałoby to poprawić
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.