Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] sortowanie
Forum PHP.pl > Forum > Przedszkole
bemol
Mam problem z posortowaniem wartości z formularza. A mianowicie moja funkcja sortująca bierze jedną ze zmiennych tablicowych (liczbę) za text - string.

sprawdzić można na: http://usersstats.yoyo.pl

a teraz plik:
create.php
  1. <?php
  2.  
  3. function msort($array, $id="id") {
  4. $temp_array = array();
  5. while(count($array)>0) {
  6. $lowest_id = 0;
  7. $index=0;
  8. foreach ($array as $item) {
  9. if ($item[$id]<$array[$lowest_id][$id]) {
  10. $lowest_id = $index;
  11. }
  12. $index++;
  13. }
  14. $temp_array[] = $array[$lowest_id];
  15. $array = array_merge(array_slice($array, 0,$lowest_id), array_slice($array, $lowest_id+1));
  16. }
  17. return $temp_array;
  18. }
  19.  
  20. $uni = $_POST['uni'];
  21. $nick = $_POST['nick'];
  22. $sojusz = $_POST['sojusz'];
  23. $punkty = $_POST['punkty'];
  24. $rw = $_POST['rw'];
  25. $liczba_porzadkowa = 1;
  26. $inc = 1;
  27.  
  28. for($i=0; $i<count($nick); $i++)
  29. {
  30. if ($nick[$i] == "") continue;
  31. $data[] = array("nick"=>$nick[$i],"sojusz"=>$sojusz[$i],"punkty"=>$punkty[$i],"rw"=>$rw[$i]);
  32. $sdata[] = array("nick"=>$nick[$i],"sojusz"=>$sojusz[$i],"punkty"=>$punkty[$i],"rw"=>$rw[$i]);
  33. }
  34. $data = msort($data,"punkty");
  35. $sdata = msort($sdata,"rw");
  36. echo "
    SEEK AND DESTROY: UNI $uni STATYSTYKI GRACZY
    "
    ;
  37. echo "<br><br><br>";
  38. echo "Statystka wg %
      ";
  39. echo "<br><br>";
  40.  
  41. for($i=count($data)-1; $i>=0; $i--)
  42. {
  43. echo "
  44. {$liczba_porzadkowa}.{$data[$i]['nick']} [{$data[$i]['sojusz']}color=red]][/color]] - {$data[$i]['punkty']} % - {$data[$i]['rw']} RW <br>";
  • $liczba_porzadkowa++;
  • } 
  • echo "
  • ";
  • echo "<br>Statystka wg liczby RW<br>
      ";
  • for($i=count($sdata)-1; $i>=0; $i--)
  • {
  • echo "
  • {$inc}.{$sdata[$i]['nick']} [{$sdata[$i]['sojusz']}color=red]][/color]] - {$sdata[$i]['rw']} RW - {$sdata[$i]['punkty']} % <br>";
  • $inc++;
  • }
  • echo "
  • ";
  • ?>
  • [PHP] pobierz, plaintext
    UDAT
    Zamiast pisać własną funkcję sortującą użyj usort" title="Zobacz w manualu PHP" target="_manual
    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.