Tak wyglada moja tabela wynikow, sortowanie jest wg ilosci pkt,
jednak jezeli dwie druzyny maja taka sama ilosc pkt, to wyzej powinna byc ta ktora w meczu bezposrednim ( obie druzyny z ta sama iloscia pkt graja razem )


  1. <?php
  2. function tabela() {
  3.  
  4. global $color, $zespoly_tbl, $wyniki_tbl, $kolor1, $kolor2, $kolo3, $kolor4, $kolor5, $sezon, $sort;
  5. $result = mysql_query("SELECT * FROM $zespoly_tbl ORDER BY pkt DESC, $sort");
  6. echo '<div class="title" align="center"><B>'.$sezon.'</B></div><BR><table width="90%" border="0" cellspacing="0" cellpadding="1" align="center">
  7. <tr> 
  8. <td>
  9. <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#aaaaaa" align="center">
  10. <tr> 
  11. <td>
  12. <table width="100%" border="0" cellspacing="1" cellpadding="0">
  13. <tr>
  14. <td class="title" bgcolor="'.$color[1].'" align="center"><B>Lp</B></td>
  15. <td class="title" bgcolor="'.$color[1].'"><B>Zespó³</B></td>
  16. <td class="title" bgcolor="'.$color[1].'" align="center"><B>Pkt</B></td>
  17. <td class="title" bgcolor="'.$color[1].'" align="center"><A Title="meczy" Style="cursor: default;"><B>M</B></a></td>
  18. <td class="title" bgcolor="'.$color[1].'" align="center"><A Title="zwyciêstwa" Style="cursor: default;"><B>Zw</B></a></td>
  19. <td class="title" bgcolor="'.$color[1].'" align="center"><A Title="remisy" Style="cursor: default;"><B>Re</B></a></td>
  20. <td class="title" bgcolor="'.$color[1].'" align="center"><A Title="pora¿ki" Style="cursor: default;"><B>Po</B></a></td>
  21. <td class="title" bgcolor="'.$color[1].'" align="center"><A Title="bramki strzelone" Style="cursor: default;"><B>+</B></a></td>
  22. <td class="title" bgcolor="'.$color[1].'" align="center"><A Title="bramki stracone" Style="cursor: default;"><B>-</B></a></td>
  23. <td class="title" bgcolor="'.$color[1].'" align="center"><A Title="ró¿nica" Style="cursor: default;"><B>R</B></a></td>
  24. <td class="title" bgcolor="'.$color[1].'" align="center"><B>Dom</B></a></td>
  25. <td class="title" bgcolor="'.$color[1].'" align="center"><B>Wyjazd</B></a></td>
  26. </tr>';
  27. $num=1;
  28.  
  29. while($r = mysql_fetch_array($result)){
  30.  
  31. $id = $r['id'];
  32. $zespol = $r['zespol'];
  33. $mecze = $r['mecze'];
  34. $zwy = $r['zwy'];
  35. $re = $r['rem'];
  36. $por = $r['por'];
  37. $bstrz = $r['bstrz'];
  38. $bstra = $r['bstra'];
  39. $pkt = $r['pkt'];
  40. $roznica = $r['roznica'];
  41. $dzwy = $r['dzwy'];
  42. $drem = $r['drem'];
  43. $dpor = $r['dpor'];
  44. $wzwy = $r['wzwy'];
  45. $wrem = $r['wrem'];
  46. $wpor = $r['wpor'];
  47. $dbrmstrz = $r['dbrmstrz'];
  48. $dbrmstra = $r['dbrmstra'];
  49. $wbrmstrz = $r['wbrmstrz'];
  50. $wbrmstra = $r['wbrmstra'];
  51.  
  52. if($roznica>0) $roznica= '+'.$roznica.'';
  53. if($num==1) $bg=$kolor1; elseif($num==2 or $num==3) $bg=$kolor2; elseif($num==14) $bg=$kolor4; elseif($num==15 or $num==16) $bg=$kolor5; else $bg=$color[4];
  54.  
  55. echo '<tr>
  56. <td class="title" bgcolor="'.$bg.'">'.$num.'</td>
  57. <td class="title" bgcolor="'.$bg.'"><a href="liga.php?cmd=zes&id='.$id.'">'.$zespol.'</a></td>
  58. <td class="title" bgcolor="'.$bg.'"><B>'.$pkt.'</B></td>
  59. <td class="title" bgcolor="'.$bg.'">'.$mecze.'</td>
  60. <td class="title" bgcolor="'.$bg.'">'.$zwy.'</td>
  61. <td class="title" bgcolor="'.$bg.'">'.$re.'</td>
  62. <td class="title" bgcolor="'.$bg.'">'.$por.'</td>
  63. <td class="title" bgcolor="'.$bg.'">'.$bstrz.'</td>
  64. <td class="title" bgcolor="'.$bg.'">'.$bstra.'</td>
  65. <td class="title" bgcolor="'.$bg.'">'.$roznica.'</td>
  66. <td class="title" bgcolor="'.$bg.'">'.$dzwy.'-'.$drem.'-'.$dpor.' ('.$dbrmstrz.'-'.$dbrmstra.')</td>
  67. <td class="title" bgcolor="'.$bg.'">'.$wzwy.'-'.$wrem.'-'.$wpor.' ('.$wbrmstrz.'-'.$wbrmstra.')</td>
  68. </tr>';
  69.  
  70. $num++;
  71. }
  72.  
  73. echo '</table>
  74. </td>
  75. </tr>
  76. </table>
  77. </td>
  78. </tr>
  79. </table><BR>
  80. <div class="title" align="center">[ <a href="liga.php?cmd=rez">rezultaty</a> ]</div>';
  81.  
  82. }
  83. ?>


to dziala ok wg pkt, ale nie wg meczy tutaj jest cos aby tak sortowalo
  1. <?php 
  2. // ... po³±czenie z baz± itp 
  3. $sql = 'SELECT * FROM liga';
  4. $res = mysql_query($sql) or die(mysql_error());
  5.  
  6. $wzor = array('pkt'=>0, 'wygrane'=>0, 'remisy'=>0, 'przegrane'=>0, 'bramki_zdobyte'=>0, 'bramki_stracone'=>0, 'mecze'=>array());
  7. $liga = array();
  8. while($row = mysql_fetch_assoc($res)) {
  9. if(!isset($liga[$row['gosp_id_klubu']])) $liga[$row['gosp_id_klubu']] = $wzor;
  10. if(!isset($liga[$row['gosc_id_klubu']])) $liga[$row['gosc_id_klubu']] = $wzor;
  11. $gosp = &$liga[$row['gosp_id_klubu']];
  12. $gosc = &$liga[$row['gosc_id_klubu']];
  13. $gosp['id'] = $row['gosp_id_klubu'];
  14. $gosc['id'] = $row['gosc_id_klubu'];
  15.  
  16. if($row['gosp_gole']>$row['gosc_gole']) {
  17. $gosp['pkt']+=3;
  18. $gosp['wygrane']++;
  19. $gosc['przegrane']++;
  20. }
  21. elseif($row['gosp_gole']==$row['gosc_gole']) {
  22. $gosp['pkt']++;
  23. $gosc['pkt']++;
  24. $gosp['remisy']++;
  25. $gosc['remisy']++;
  26. }
  27. else {
  28. $gosc['pkt']+=3;
  29. $gosc['wygrane']++;
  30. $gosp['przegrane']++;
  31. }
  32. $gosp['bramki_zdobyte']+= $row['gosp_gole'];
  33. $gosp['bramki_stracone']+= $row['gosc_gole'];
  34. $gosc['bramki_zdobyte']+= $row['gosc_gole'];
  35. $gosc['bramki_stracone']+= $row['gosp_gole'];
  36.  
  37. if(!isset($gosp['mecze'][$row['gosc_id_klubu']])) $gosp['mecze'][$row['gosc_id_klubu']] = 0;
  38. if(!isset($gosc['mecze'][$row['gosp_id_klubu']])) $gosc['mecze'][$row['gosp_id_klubu']] = 0;
  39. $diff = $row['gosp_gole'] - $row['gosc_gole'];
  40. $gosp['mecze'][$row['gosc_id_klubu']]+= $diff;
  41. $gosc['mecze'][$row['gosp_id_klubu']]-= $diff;
  42. }
  43. // Sortowanie w zaleznosci od ilo¶ci punktów, gdy liczba punktów jest taka sama br
    ane sa pod uwage bezpo¶rednie konfrontacje, gdy w bezpo¶rednich konfrontacjach je
    st remis pod uwage brana jest róznica w strzelonych i straconych bramkach ;)
  44. function points_cmp($row1, $row2) {
  45. $result = 0;
  46. if($row1['pkt']<$row2['pkt'])
  47. $result = 1;
  48. elseif($row1['pkt']==$row2['pkt']) {
  49. if($row1['mecze'][$row2['id']]==0)
  50. $result = ($row1['bramki_zdobyte']-$row1['bramki_stracone'])<($row2['bramki_zdobyte']-$row2['bramki_stracone']);
  51. else
  52. $result = $row1['mecze'][$row2['id']]<0;
  53. }
  54. return $result;
  55. }
  56. uasort($liga, 'points_cmp') ;
  57. // Tablica $liga - posortowana odpowiednio :)
  58. print_r($liga);
  59. ?>


jednak nie umiem tego polaczyc w jedna calosc, czy moglby ktos pomoc ? zrobic jakies gotowe rozwiazanie