Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PHP

Problem z if

PHP

  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 karolo_k

    Wszechpomocny

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:328
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 30.01.2011 00:00

Witam, napisałem sobie taki skrypcik do którego zadaniem jest wyświetlanie czy serwer jest online czy offline i dodałem do tego pobieranie adresów z bazy.
<?php

include("config.php");
include("class_PQ.php");

$conn = mysql_connect("$host","$nameuser","$passworddb" ) or die('Could not connect to mysql server.' );
mysql_select_db("$namedb") or die('Could not select database.');
$sql = "SELECT `email`,`ip_adres`,`status` FROM `test_online`";
$abc = mysql_query($sql,$conn);
if (!mysql_query($sql,$conn))
{
die('Error: ' . mysql_error());
}
while ($wiersz = mysql_fetch_row($abc))
{

$email = $wiersz[0];
// echo "a";
$adres = $wiersz[1];
// echo "b";
$status = $wiersz[2];
// echo "c<p>";
$pq = PQ::create($conf);

while($pobrane = $pq->query_info($adres)) {
$ping = $pobrane['ping'];
$ip = $pobrane['ip'];
$port = $pobrane['port'];
$nazwa = $pobrane['name'];
$mapa = $pobrane['map'];
$total = $pobrane['totalplayers'];
$max = $pobrane['maxplayers'];
$haslo = $pobrane['serverlocked'];
$protocol = $pobrane['protocol'];
$gamename = $pobrane['gamename'];


if($total < 1 and $max < 1)
echo "offline";
else
echo "online";


break;

}
}
?>

Mam tutaj bardzo dziwny problem gdyż pojawia się tylko komunikat online (oczywiscie gdzy sprawdzany jest adres serwera online) a komunikaty offline nie są wyświetlanie, i nie mam pojęcia dlaczego.
  • +
  • -
  • 0

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 30.01.2011 00:09

dziwna metoda sprawdzania...
Nie lepiej !$pobrane lub $pobrane==NULL ?
if ( !$pobrane ) {
//OFF
} else {
//ON
}

  • +
  • -
  • 0

#3 karolo_k

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:328
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 30.01.2011 13:17

Po prostu korzystałem z gameq no i oni tam mieli taki warunek " if($total < 1 and $max < 1) " aby sprawdzić czy serwer jest online.
Ale ta twoja podpowiedź nie pomogła dalej komunikat wyświetlał się tylko online.
Tak wygląda moja baza danych
-- Struktura tabeli dla  `test_online`
--

CREATE TABLE IF NOT EXISTS `test_online` (
  `ID` int(6) NOT NULL AUTO_INCREMENT,
  `email` varchar(25) NOT NULL,
  `ip_adres` varchar(25) NOT NULL,
  `status` varchar(10) NOT NULL,
  `wolny` varchar(10) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

--
-- Zrzut danych tabeli `test_online`
--

INSERT INTO `test_online` (`ID`, `email`, `ip_adres`, `status`, `wolny`) VALUES
(4, 'asd1111o2.pl', '194.xx.175.160:27018', '0', ''),
(6, '[email protected]', '194.xx.175.160:27015', '0', ''),
(7, '[email protected]', '194.xx.175.160:27012', '0', ''),
(8, '[email protected]', '194.xx.175.160:27015', '0', ''),
(9, '[email protected]', '194.xx.175.160:27015', '0', ''),
(10, '[email protected]', '194.xx.175.160:27012', '0', ''),
(11, '[email protected]', '194.xx.175.160:27010', '0', '');
Musiałem zamiast IP wpisać xx bo przez regulanim nie mogłem wysłać posta.
Adresy serwerów zakończone portem 27015 lub 27010 to serwery online. Więc wynik działania skryptu powinien być offline online offline online online offline online. A jest tak:
http://img684.images...13/36795917.png
  • +
  • -
  • 0

#4 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 30.01.2011 14:01

<?php



include("config.php");

include("class_PQ.php");



$conn = mysql_connect("$host","$nameuser","$passworddb" ) or die('Could not connect to mysql server.' );

mysql_select_db("$namedb") or die('Could not select database.');

$sql = "SELECT `email`,`ip_adres`,`status` FROM `test_online`";

$abc = mysql_query($sql,$conn);

if (!mysql_query($sql,$conn))

{

die('Error: ' . mysql_error());

}

while ($wiersz = mysql_fetch_row($abc)) 

{

  

  $email = $wiersz[0];

 // echo "a";

  $adres = $wiersz[1];

//  echo "b";

  $status = $wiersz[2];

//  echo "c<p>";

  $pq = PQ::create($conf);



   $pobrane = $pq->query_info($adres);

        

        

    if(!pobrane) 

                echo "offline";

    else

        echo "online";

        

        

    

    



}       

?>

  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#5 karolo_k

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:328
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 30.01.2011 14:16

Ślicznie dziękuję :rolleyes: oczywiscie +
PS
Tylko
if(!pobrane) 
trzeba zamienić na
if(!$pobrane)

I może mi ktoś powiedzieć dlaczego to nie chciało działać w mojej wersji ?
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: PHP

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych