Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sortowanie danych w tabeli
maniek2512
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 5.03.2011

Ostrzeżenie: (0%)
-----


Otóż mam oto taki kod:

  1. <table class="sortable" border="1" align="left" width="100%" >
  2. <!-- Table Header -->
  3. <thead>
  4.  
  5. <tr>
  6. <th background='tlo.png'>L.P.</th>
  7. <th background='tlo.png'>Nick</th>
  8. <th background='tlo.png'>Marka</th>
  9. <th background='tlo.png'>Model</th>
  10. <th background='tlo.png'>Czas</th>
  11. <th background='tlo.png'>Tryb</th>
  12. </tr>
  13.  
  14. </thead>
  15.  
  16. <!-- Tabel body-->
  17. <tbody>
  18.  
  19.  
  20.  
  21. <?php
  22. $lp= 1;
  23. $trasa = $_GET['trasa'];
  24. $tryb = $_GET['tryb'];
  25. $shard = $_GET['shard'];
  26.  
  27.  
  28.  
  29. $sql_conn = mysql_connect('########', '#####_admin', '#######');
  30. mysql_select_db('nfswinfo_1');
  31.  
  32. $result3 = mysql_query("SELECT nick FROM CHICANE");
  33.  
  34. $wynik = '';
  35.  
  36. while ($row3 = mysql_fetch_array($result3, MYSQL_ASSOC)){
  37.  
  38. $user = $row3["nick"];
  39.  
  40.  
  41. $result = mysql_query("SELECT * FROM single$trasa WHERE nick='$user' ORDER BY czas ASC");
  42. $row2 = mysql_fetch_array($result);
  43.  
  44. $czas2 = $row2["czas"];
  45.  
  46. $result1 = mysql_query("SELECT * FROM multi$trasa WHERE nick='$user' ORDER BY czas ASC");
  47. $row1 = mysql_fetch_array($result1);
  48.  
  49. $czas1 = $row1["czas"];
  50.  
  51.  
  52. if (empty($czas2)){
  53.  
  54. $czas2 = '0:00:00.000';
  55. }
  56.  
  57. if (empty($czas1)){
  58.  
  59. $czas1 = '0:00:00.000';
  60. }
  61.  
  62.  
  63. if ($czas2 < $czas1){
  64.  
  65. $wynik .= '<tr align="center"><td>'.$lp++.'</td><td>'.$row1["nick"].'</td><td>'.$row1["marka"].'</td><td>'.$row1["model"].'</td><td>'.$czas1.'</td><td>Multiplayer</td></tr>';
  66. }
  67.  
  68. elseif ($czas2 > $czas1){
  69.  
  70. $wynik .= '<tr align="center"><td>'.$lp++.'</td><td>'.$row2["nick"].'</td><td>'.$row2["marka"].'</td><td>'.$row2["model"].'</td><td>'.$czas2.'</td><td>Singleplayer</td></tr>';
  71. }
  72.  
  73. else { }
  74.  
  75.  
  76. }
  77.  
  78.  
  79. echo $wynik;
  80.  
  81. ?>
  82.  
  83. </tbody> </table>
  84.  
  85.  
  86.  
  87.  



Co zrobić aby wynik był posortowany względem czasu od najkrótszego do najdłuższego?

Obecnie skrypt zwraca wynik:

L.P. Nick Marka Model Czas Tryb
1 MANIEK2512PL PAGANI ZONDA CINQUE 0:01:19.817 Singleplayer
2 JOERG1966 MCLAREN F1 0:01:13.800 Multiplayer
3 RYBECKI0902 PAGANI ZONDA CINQUE 0:01:23.075 Singleplayer
4 DELECTAMENTI PAGANI ZONDA CINQUE 0:01:12.861 Singleplayer
5 BLACKSHADOW849 PAGANI ZONDA CINQUE 0:01:21.805 Singleplayer
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


Czas musisz mieć w formacie timestamp i wtedy nie ma problemu - order by time desc/asc.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 18:34