Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP, MySQL] Wyświetlenie czterech następnych rekordów bazy
Forum PHP.pl > Forum > PHP
Emte
Dzień dobry, mam pytanie do szanownego Państwa dotyczące tabeli ligowych rozgrywek piłkarskich wykorzystujące MySQL.
Otóz mam dane w tabeli MySQL drużyn oraz (ręcznie wpisywane) ile one rozegrały mecżów, zdobyły i straciły bramek, zdobyły punktów itd.
Każda drużyna ma swoje własne unikalne id.
Tabela jest wyświetlana od największej ilości punktów zdobytych do najmniejszej a numer miejsca zajmowanego jest tworzone poprzez zmienną $i.
I chciałbym teraz pominąć cztery drużyny zajmujące miejsca 1.-4. i wyświetlić tylko drużyny zajmujące miejsca 5.-8. (oczywiście z zachowaniiem sortowania wg zdobytych punktów).
Przypominam, że nr. miejsca danej drużyny jest tworzony automatycznie i nie jest zapisany w bazie.
Czy da się coś takiego zrobić?

Oto kod strony wyświetlający pierwsze cztery drużyny:

  1. <? 
  2. include "config.php"; 
  3. ?>
  4. <?php
  5.  
  6. if (!ini_get('register_globals')) {
  7. $types_to_register = array(
  8. 'GET','POST',
  9. 'COOKIE','SESSION','SERVER'
  10. );
  11. foreach ($types_to_register as $type) {
  12. if (@count(${'_' . $type}) > 0) {
  13. extract(${'_' . $type}, EXTR_OVERWRITE);
  14. }
  15. }
  16. }
  17.  
  18. if (file_exists("instaluj.php")) 
  19. {
  20. echo "instaluj.php ciągle na serwerze!";
  21. exit; 
  22. }
  23.  
  24. echo "<center><table><tr><td>"; 
  25.  
  26. // POَCZENIE 
  27. @$polaczenie = mysql_pconnect($host, $db_user, $db_pass);
  28. if (!$polaczenie) {
  29. echo "Nie udało się nawi?zać poł?czenia z serwerem.";
  30.  }
  31. if(!mysql_select_db($db)) {
  32.  echo "Nie udało się poł?czyć z baz?";
  33.  exit;
  34. }
  35.  
  36. $zapytanie = "SELECT * FROM `".$prefix."tabela` ORDER BY `PTS` DESC, `GD` DESC LIMIT 0,100";
  37.  
  38. $wynik = mysql_query($zapytanie);
  39. $ilosc_zespolow = mysql_num_rows($wynik);
  40. echo "<div class=\"tabela\">";
  41. echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">";
  42. if ($ilosc_zespolow == 0)
  43. {
  44.  echo "<tr><td colspan=\"5\"><center>W bazie <b>nie ma</b> żadnych drużyn.<br><br></center></td></tr></table>";
  45. }
  46. else 
  47. {  
  48. for ($i=0; $i<4; $i++)
  49. {
  50.  $team = mysql_fetch_array($wynik);
  51.  
  52.  $team_nazwa = stripslashes($team['nazwa']); 
  53.  $team_P = stripslashes($team['P']);
  54.  $team_GD = stripslashes($team['GD']);
  55.  $team_PTS = stripslashes($team['PTS']);
  56.  
  57.  $nr = $i + "1";
  58.  
  59.  echo "<tr>
  60. <tr><td class=\"tabela2\">".$nr.".</td>
  61. <td width=\"120\" class=\"tabela2\">".$team_nazwa."</td>
  62. <td class=\"tabela2\">".$team_P."</td>";
  63. if ($team_GD > 0)
  64.  {
  65.  echo "<td class=\"tabela2\" width=\"16\">+".$team_GD."</td>";
  66.  }
  67.  elseif ($team_GD <= 0)
  68. {
  69. echo "<td class=\"tabela2\" width=\"16\">".$team_GD."</td>";
  70. }
  71. echo "<td class=\"tabela3\">".$team_PTS."</td>
  72. </tr>";
  73.  
  74. }
  75. echo "</table></div>"; 
  76.  
  77.  
  78.  } 
  79.  
  80. echo "</td></tr></table></center>"; 
  81.  
  82. ?>
tsharek
zapoznaj się z poleceniem LIMIT np.
  1. SELECT * FROM jakas_tabela LIMIT 5, 10
wyświetli Ci rekordy z zapytania od 5 do 10
Emte
dziala, bardzo dziekuje za pomoc graftowi i tsharkowi

temat do zamkniecia
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.