Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Lista OTS wyświetlanie serwerów
Forum PHP.pl > Forum > Przedszkole
Adriannek
To jest skrypt na wyświetlanie serwerów ale on wyświetla wszystkie a ja chciałbym żeby on wyświetlał tylko te online. Czy ktoś by mógł go jakoś przerobić żeby wyświetlał tylko te online?
  1. <?php
  2.  
  3. // nawiazujemy polaczenie
  4. $connection = @mysql_connect('localhost', 'root', 'root')
  5. // w przypadku niepowodznie wyświetlamy komunikat
  6. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  7. // połączenie nawiązane ;-)
  8. // nawiązujemy połączenie z bazą danych
  9. $db = @mysql_select_db('lista', $connection)
  10. // w przypadku niepowodzenia wyświetlamy komunikat
  11. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  12.  
  13. /* zapytanie do konkretnej tabeli */
  14. $wynik = mysql_query("SELECT * FROM ots")
  15. or die('Błąd zapytania');
  16.  
  17. /*
  18. wyświetlamy wyniki, sprawdzamy,
  19. czy zapytanie zwróciło wartość większą od 0
  20. */
  21.  
  22.  
  23. if(mysql_num_rows($wynik) > 0) { 
  24. echo "<table cellpadding=\"2\" border=1>"; 
  25. while($r = mysql_fetch_object($wynik)) {
  26. echo "<tr>";
  27. echo "<td>".$r->nazwa."</td>";
  28. echo "<td>".$r->ip."</td>";
  29. echo "<td>".$r->acc."</td>";
  30. echo "<td>
  31.  <a href=\"\">Zobacz Opis</a>
  32.  </td>";
  33. echo "</tr>";
  34.  
  35. }
  36. echo "</table>";
  37.  
  38. }
  39.  
  40. // zamykamy połączenie
  41. mysql_close($connection);
  42. ?>
Lejto
gdy serwer jest używany to wykonywane jest update np. to pola online z wartością tak danego serwera i do zapytania
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM ots where online = 'tak'");
  3. ?>
Adriannek
A czy mógł byś mi ten cały skrypt przedstawić w jedym bo mi jakieś błędy wychodzą.
Jeszcze bazę dam:
  1. CREATE TABLE `ots` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `ip` varchar(20) NOT NULL DEFAULT '',
  4. `opis` varchar(255) NOT NULL DEFAULT '',
  5. `nazwa` varchar(50) NOT NULL DEFAULT '',
  6. `loncze` varchar(20) NOT NULL DEFAULT '',
  7. `acc` varchar(50) NOT NULL DEFAULT '',
  8. `port` varchar(4) NOT NULL,
  9. `client` varchar(10) NOT NULL,
  10. PRIMARY KEY (`id`),
  11. UNIQUE KEY `INDEX` (`ip`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=9 ;
  13.  
  14. --
  15. -- Zrzut danych tabeli `ots`
  16. --
  17.  
  18. INSERT INTO `ots` (`id`, `ip`, `opis`, `nazwa`, `loncze`, `acc`, `port`, `client`) VALUES
  19. (8, 'armia.toproste.pl', 'dsd', 'Armia', '', 'http:/armia.toproste.pl', '7171', '7.6');
Sabistik
Przenoszę na przedszkole i proszę o poprawę bbcode.
Adriannek
Czy ktoś może mi pomuc bo te skrypty nie dzałają
isso
pomóc przez ó smile.gif ortografia smile.gif...

a co do samego tematu... to zakładając, że skrypt, który podałeś wyświetla wszystkie serwery, a jednoczesnie w bazie są podane wszyskie informacje o aktualnym stanie serwera to tylko sprawdzasz wartość w czasie zapytania dla 'stan serwera' tak jak już wczesniej ktoś napisał...
Lejto
kto jest online
  1. <?php
  2. define ('TIMEOUT', 20);
  3. $ostatnio_online = time();
  4.  $sql = "SELECT * FROM uzytkownik WHERE user = '".$_SESSION['prawid_uzyt']."'"; // zapytanie o usera
  5. $query7 = mysql_query($sql);
  6. $rows=mysql_num_rows($query7);
  7. $row = mysql_fetch_array($query7);
  8.  
  9. $postow = $row[postow];
  10.  
  11. $zapytaj = "SELECT * FROM kto_online WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND nick = '".$_SESSION['prawid_uzyt']."'";
  12. $query = mysql_query($zapytaj);
  13. $ile = mysql_num_rows($query);
  14.  
  15. $zapytanie = "SELECT * FROM uzytkownik where user = '".$_SESSION['prawid_uzyt']."'";
  16. $wykonaj = mysql_query($zapytanie);
  17. $rows = mysql_num_rows($wykonaj);
  18. $row = mysql_fetch_array($wykonaj);
  19.  
  20. $numer_usera = $row[id];
  21.  
  22. if (isset($_SESSION['prawid_uzyt']))
  23. {
  24. if($ile<1)
  25. {
  26. $zapytaj1 = "INSERT INTO kto_online (nick, onlineid
  27. , ostatnio_online, ip, numer, postow) VALUES ('".$_SESSION['prawid_uzyt']."', '".$onlineid
  28. ."', '".$ostatnio_online."', '".$_SERVER['REMOTE_ADDR']."', '".$numer_usera."', '".$postow."')";
  29. $query2 = mysql_query($zapytaj1);
  30.  
  31. }
  32. elseif($ile>=1)
  33. {
  34. $zapytaj2 = "UPDATE kto_online SET nick = '".$_SESSION['prawid_uzyt']."', onlineid = '".$onlineid."', ostatnio_online = '".$ostatnio_online."', ip = '".$_SERVER['REMOTE_ADDR']."', numer = '".$numer_usera."', postow = '".$postow."' WHERE onlineid = '".$onlineid."'";
  35. $query3 = mysql_query($zapytaj2);
  36. }
  37. }
  38. $aktywnosc = time()-(60*TIMEOUT);
  39. $wywal_nieaktywnego = "DELETE FROM kto_online WHERE ostatnio_online < $aktywnosc";
  40. $query4 = mysql_query($wywal_nieaktywnego);
  41.  
  42. $zapytaj_o_online = "SELECT * FROM kto_online ORDER by ostatnio_online ASC";
  43. $query5 = mysql_query($zapytaj_o_online);
  44.  
  45.  
  46.  if($rows = mysql_num_rows($query5) == 0){
  47.  
  48. echo "<br><font color=#FF9999 size=1>Brak zalogowanych uzytkowników.\n</font>";
  49.  
  50.  }
  51. else
  52. {
  53.  
  54.  
  55.  
  56.  
  57.  $sql = "SELECT * FROM kto_online"; 
  58.  $query = mysql_query($sql);
  59.  $rows = mysql_num_rows($query);
  60. for($i=0; $i < $rows; $i++)
  61. {
  62.  
  63. $row = mysql_fetch_array($query);
  64. $ile_postow = $row[postow];
  65.  
  66.  
  67.  
  68.  
  69. echo "<strong>";
  70.  
  71.  echo ($row[nick]);
  72.  
  73.  
  74. echo "</strong>";
  75.  
  76.  
  77.  
  78. }
  79.  
  80. }
  81. ?>

ja to mam zrobione dla usarów przerób sobie na serwery
SQL
  1. CREATE TABLE IF NOT EXISTS `kto_online` (
  2. `ip` text NOT NULL,
  3. `ostatnio_online` text NOT NULL,
  4. `nick` text character SET ucs2 collate ucs2_polish_ci NOT NULL,
  5. `numer` int(11) NOT NULL DEFAULT '0',
  6. `postow` text NOT NULL,
  7. `onlineid` int(5) NOT NULL AUTO_INCREMENT,
  8. PRIMARY KEY (`onlineid`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=122 ;

info:
podobny temat był na forum nie mogę znaleźć linka
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.