Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]Ranking graczy
Forum PHP.pl > Inne > Giełda ofert > Poszukuję
rybenia
Witam,

Posiadam stronke serwera muonline http://dgmu.dyn.pl/

I chciałbym aby w podstronie Ranking Graczy

BYło coś następującego.

Zamiast słowa Więcej mozna by kliknąc na danego gracza i pojawiły się jego staty.

Ten nowy plik już sobie sam wykonam. Ale chodzi mi o to hiperłącze jak klikne na kazdego gracza wyswietlą sie jego dane.

Plik php Rankingu



  1. <br><br>
  2. <?
  3. /*-----------------------------------------------------*
  4. |                  SkyTeam MuPage file                   |
  5. |  this file is connected with module $page["ranking"]   |
  6. |                   File version 1.2                     |
  7. |>1.1 Now form saves itself, and no longer display banned|
  8. |>1.2 display guild name and guild master status         |
  9. |                by Amelek (szklarzewicz@wp.pl)          |
  10. |                   <a href=\"http://lorencia.com\" target=\"_blank\">http://lorencia.com</a>                  |
  11. *-----------------------------------------------------*/
  12. if(!defined('SkyTeamPageRUNNING') OR !$page["ranking"])
  13. {
  14. die("Include error..");
  15. }
  16. if($page["use_overlib_in_ranking"])
  17.  {
  18.  echo '<div id="overDiv" style="position: absolute; visibility: hidden; z-index:1000;width:50;"></div><script src=grafika/overlib.js></script>';
  19.  ?>
  20.  <script>
  21.  function do_overlib(name,lvl,res,str,dex,vit,enr)
  22.      {
  23.      text = "<?=$lang_level?>: "+lvl+"<br><?=$lang_Reset?>: "+res+"<br>";
  24.      text += "<?=$lang_Strength?>: "+str+"<br><?=$lang_Dexterity?>: "+dex+"<br>";
  25.      text += "<?=$lang_Vitality?>: "+vit+"<br><?=$lang_Energy?>: "+enr;
  26.      overlib(text, CAPTION, name);
  27.      }
  28.  </script>
  29.  <?
  30.  }
  31. ?>
  32.  
  33. <table align=center style="margin:auto;">
  34. <tr class=highlight>
  35. <td align=left> Lp </td>
  36. <td align=left> <? echo $lang_g2_guild; ?> </td>
  37. <td> </td>
  38. <td align=left> <? echo $lang_Name; ?> </td>
  39. <td align=left> <? echo $lang_race; ?> </td>
  40. <td align=left> <? echo $lang_level; ?> </td>
  41. <?
  42. if(!$page["use_overlib_in_ranking"] OR $_POST['show_full_display'])
  43.  {
  44.  ?><td align=left> <? echo $lang_Strength; ?> </td>
  45.  <td align=left> <? echo $lang_Dexterity; ?> </td>
  46.  <td align=left> <? echo $lang_Vitality; ?> </td>
  47.  <td align=left> <? echo $lang_Energy; ?> </td>
  48.  <?
  49.  }
  50. ?>
  51. <td align=left> <? echo $lang_Reset; ?> </td>
  52.  
  53. <br><tr></tr>
  54.  
  55. <?php
  56.  
  57. if(isset($_POST['prim']))
  58. {
  59. settype($_POST['start_from'],'int');
  60. settype($_POST['count_result'],'int');
  61. if($_POST['count_result'] > 300)
  62. echo 'Too many requests';
  63. else
  64. {
  65. $sql = array ('str' => 'Strength',
  66. 'agl' => 'Dexterity',
  67. 'vit' => 'Vitality',
  68. 'enr' => 'Energy',
  69. 'lvl' => 'cLevel',
  70. 'res' => $res_column_name);
  71.  
  72. $first = $sql[$_POST['prim']];
  73. $second = $sql[$_POST['sec']];
  74. if(empty($first)) echo 'sort error';
  75. else
  76. {
  77. $first = 'Order By '.$first;
  78. if($_POST['sortdir_prim'] == 'desc') $first .= ' Desc';
  79. elseif($_POST['sortdir_prim'] == 'asc') $first .= ' Asc';
  80.  
  81. if(!empty($second) AND $second != $sql[$_POST['prim']])
  82. {
  83. $first .= ', '.$second;
  84. if($_POST['sortdir_sec'] == 'desc') $first .= ' Desc';
  85. elseif($_POST['sortdir_sec'] == 'desc') $first .= ' Asc';
  86.  
  87. }
  88.  
  89. $klasy = array (
  90. 'wizard' => ' Class = 0 OR Class = 1 ',
  91. 'knight' => ' Class = 16 OR Class = 17 ',
  92. 'elf' => ' Class = 32 OR Class = 33 ',
  93. 'gladiator' => ' Class = 48 ',
  94. 'lord' => ' Class = 64'
  95. );
  96. $class_add = null;
  97.  
  98. if(!empty($_POST['wizard']))
  99. $class_add .= $klasy['wizard'];
  100.  
  101. if(!empty($_POST['knight']))
  102. $class_add .= $klasy['knight'];
  103.  
  104. if(!empty($_POST['elf']))
  105. $class_add .= $klasy['elf'];
  106.  
  107. if(!empty($_POST['gladiator']))
  108. $class_add .= $klasy['gladiator'];
  109.  
  110. if(!empty($_POST['lord']))
  111. $class_add .= $klasy['lord'];
  112.  
  113. $class_add = str_replace('  ',' OR ',$class_add);
  114.  
  115. if(empty($class_add))
  116. echo 'Nie wybrano żadnej profesji!';
  117. else
  118. {
  119. //echo "SELECT TOP ".($_POST['start_from']+$_POST['count_result'])." Name, Class, cLevel, Strength, Dexterity, Vitality, Energy, $res_column_name, $isadmin_column_name FROM Character WHERE (".$class_add.") AND $isadmin_column_name != 1 $first;";
  120. $result = mssql_query("SELECT TOP ".($_POST['start_from']+$_POST['count_result'])." Name, Class, cLevel, Strength, Dexterity, Vitality, Energy, $res_column_name, $isadmin_column_name, (SELECT G_Name FROM GuildMember WHERE GuildMember.Name = Character.Name), (SELECT G_Level FROM GuildMember WHERE GuildMember.Name = Character.Name), (SELECT ConnectStat FROM MEMB_STAT Where memb___id = Character.AccountId) FROM Character WHERE (".$class_add.") AND $isadmin_column_name <> 1 AND (CtlCode != 1 OR CtlCode IS null) $first;") OR die('Query FAILED');
  121. }
  122. }
  123. }
  124. }
  125. else
  126. $result = mssql_query("SELECT TOP 100 Name, Class, cLevel, Strength, Dexterity, Vitality, Energy, $res_column_name, $isadmin_column_name, (SELECT G_Name FROM GuildMember WHERE GuildMember.Name = Character.Name), (SELECT G_Level FROM GuildMember WHERE GuildMember.Name = Character.Name), (SELECT ConnectStat FROM MEMB_STAT Where memb___id = Character.AccountId) FROM Character WHERE $isadmin_column_name != 1 AND (CtlCode != 1 OR CtlCode IS null) Order By $res_column_name desc, CLevel desc") OR die('Query FAILED');
  127.  
  128. if(!empty($result))
  129. {
  130. $a = $_POST['start_from'];
  131. for($i=0;$i<mssql_num_rows($result);++$i)
  132. {
  133. $row = mssql_fetch_row($result);
  134. if($i >= $_POST['start_from'])
  135. {
  136. $row[0] = htmlspecialchars ($row[0]);
  137. $row[9] = htmlspecialchars($row[9]);
  138. if ($row[8] != 1)
  139. {
  140. $a = $a+1;
  141.  echo '<tr>';
  142.  echo '<td align=left>'.$a;
  143. if(!empty($row[9]))
  144.  {
  145.  if($row[10] == 1) 
  146.      $row[9] = '<img src=grafika/guild_master_mark.PNG><span class=serw_on>['.$row[9].']</span>';
  147.  else
  148.      $row[9] = '['.$row[9].']';
  149.      echo '<td align=left width=15% style="white-space:nowrap;">'.$row[9].'</td>'; 
  150.  }
  151. else
  152.  {
  153.      echo '<td align=left width=15% style="white-space:nowrap;"></td>'; 
  154.  }
  155. if($row[11] == 1)
  156.  {
  157.  echo '<td><img src=grafika/pin_online.gif alt=online></td>';
  158.  }
  159. else
  160.  {
  161.  echo '<td><img src=grafika/pin_offline.gif alt=offline></td>';
  162.  }
  163. echo '<td align=left style="white-space:nowrap;"><b>'.$row[0].'</b></td>';
  164. echo '<td align=left>' .$classes[$row[1]].'<b></td>';
  165. echo '<td align=left> '.$row[2].'</td>';
  166. if(!$page["use_overlib_in_ranking"] OR $_POST['show_full_display'])
  167.  {
  168.      echo '<td align=left> '.$row[3].'</td>';
  169.      echo '<td align=left> '.$row[4].'</td>';
  170.      echo '<td align=left> '.$row[5].'</td>';
  171.      echo '<td align=left> '.$row[6].'</td>';
  172.  echo '<td align=left> '.$row[7].'</td>';
  173.  }
  174. else 
  175.  {
  176.  echo '<td align=left> '.$row[7].'</td>';
  177.  echo '<td class=highlight><a class="forum_link highlight" href=# onClick="return false;" onMouseOver="do_overlib(''.str_replace(''',''',$row[0]).'','.$row[2].','.$row[7].','.$row[3].','.$row[4].','.$row[5].','.$row[6].');" onMouseOut="nd();" >'.$lang_more.'</a></td>';
  178.  }
  179. echo '</tr>';
  180. }
  181. }
  182. }
  183. }
  184. ?>
  185. </table>
mathijas
Nie bardzo rozumiem. Chodzi Ci o to, aby zamiast słowa więcej, trzeba było kliknąć w nick gracza? Po prostu dodaj <a></a> wokół nicku dodając odpowiedni href...
rybenia
tak.. ale to jest strona serwera do gry.. i Postacie robią gracze... w grze.
MWL
gra, strukturalna... nie komentuję
Ociu
To jest oferta, nie piszemy skryptów "bo ktoś chce", możemy tylko pomóc.
Przenoszę do poszukuję.
itsme
Cytat(MWL @ 10.10.2008, 20:01:52 ) *
gra, strukturalna... nie komentuję


to nie komentuj ...
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.