witam mam o to taki kodzik:
  1. $wykonano_zapytanie['ilosc_osob'] = mysql_query("SELECT `id` FROM `list_of_players` WHERE `server` = '".mysql_real_escape_string($world)."' LIMIT 100000") or die(mysql_error());
  2. $ilosc_osob = mysql_num_rows($wykonano_zapytanie['ilosc_osob']);
  3.  
  4. if(!isset($_GET['str']) OR $_GET['str'] < 1){$str = 1;}else{$str = abs($_GET['str']);}
  5.  
  6. $wns = 50;
  7. $strona = ($str-1)*$wns;
  8. $liczba_str = ceil($ilosc_osob/$wns);
  9.  
  10. if($str > $liczba_str){$str = 1;}
  11.  
  12. $wykonano_zapytanie['dane_postaci'] = mysql_query("SELECT b.`id`,b.`status`,b.`name` FROM `rank_exp` a JOIN `list_of_players` b ON a.`id_char` = b.`id` WHERE b.`server` = '".mysql_real_escape_string($world)."' ORDER BY a.`level` DESC LIMIT ".($strona).','.$wns) or die(mysql_error());
  13.  
  14. if($str >= 1 && $str <= $liczba_str)
  15. {
  16. $m_lewa = '<span class="bold"><a class="normal" href="'.$nazwa_linka.'&s='.$world.'&str='.($str-1).'.html">Poprzednie</a></span>';
  17. $m_prawa = '<span class="bold"><a class="normal" href="'.$nazwa_linka.'&s='.$world.'&&str='.($str+1).'.html">Następna</a></span>';
  18. }
  19. else
  20. {
  21. if($str == 1)
  22. {
  23. $m_lewa = '<span class="bold">Poprzednia</span>';
  24. $m_prawa = '<span class="bold"><a class="normal" href="'.$nazwa_linka.'&s='.$world.'&&str='.($str+1).'.html">Następna</a></span>';
  25. }
  26. if($str == $liczba_str)
  27. {
  28. $m_lewa = '<span class="bold"><a class="normal" href="'.$nazwa_linka.'&s='.$world.'&&str='.($str-1).'.html">Poprzednie</a> </span>';
  29. $m_prawa = '<span class="bold">Następna</span>';
  30. }
  31. }
  32.  
  33.  
  34. echo '<div style="margin: 0px auto; text-align: center;>';
  35. echo $m_lewa;
  36.  
  37. for ($i=1;$i<=$liczba_str;$i++)
  38. {
  39. echo '[<a class="normal" style="font-size: 11px; font-weight: bold;" href="'.$nazwa_linka.'&s='.$world.'&&str='.$i.'.html">'.$i.'</a>]&nbsp;';
  40. }
  41. echo $m_prawa;
  42. echo '</div>';
  43.  
  44. $lp = ($str*$wns)-49;
  45.  
  46. while($dane_postaci = mysql_fetch_assoc($wykonano_zapytanie['dane_postaci']))
  47. {
  48. $wykonano_zapytanie['dp'] = mysql_query("SELECT `experience`,`level` FROM `rank_exp` WHERE `id_char` = '".mysql_real_escape_string($dane_postaci['id'])."' ORDER BY `date`,`time` DESC LIMIT 1") or die(mysql_error());
  49. $dane_postaci2 = mysql_fetch_assoc($wykonano_zapytanie['dp']);
  50.  
  51. $sto_procent = $tablica_exp[$dane_postaci2['level']] - $tablica_exp[$dane_postaci2['level']-1];
  52. $moj_exp = $dane_postaci2['experience'] - $tablica_exp[$dane_postaci2['level']-1];
  53. $procent = (($moj_exp*100)/$sto_procent);
  54.  
  55. if($dane_postaci['status'] == 0)
  56. {
  57. $procenty = round($procent,2);
  58. }
  59. else
  60. {
  61. $procenty = '0';
  62. }
  63.  
  64. echo '<tr class="c" onMouseOver="this.className=\'b\'" onMouseOut="this.className=\'c\'"><td class="itemy"><i><b>'.($lp++).'</b></i></td>';
  65. echo '<td class="itemy"><a href="index.php?page=profil_doswiadczenie&s='.$world.'&nick='.$dane_postaci['name'].'">'.$dane_postaci['name'].'</a></td>';
  66. echo '<td class="itemy">'.$dane_postaci2['level'].'(<span class="procent">'.$procenty.'</span>%)</td>';
  67. echo '<td class="itemy">'.number_format($dane_postaci2['experience'],0,0,'.').'</td>';
  68. echo '</tr>';
  69.  
  70. }
  71.  
  72. echo '</table>';


zadaniem skryptu jest pobranie wszstkich userów z dannego serwera , wyświetlić nazwy oraz ost logu z tabeli list_of_players dla danego usera.

problem polega na tym że część userów po prostu dubluje czyli wyświetla kilka razy tego samego usera (jedyne co mi przychodzi do głowy to to że dla takiego usera jest kilka logów ale chyba zapytanie są ok - według mnie)

1 tabela list_of_players - w niej jest id , server , name
2 tabela rank_exp (logi graczy) jest id,id_char,level,experience,date,time

dodam tylko że obydwie tabele są połączone list_of_players.id = rank_exp.id_char

z góry dziękuje za pomoc..