Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana pętli na tablice
Forum PHP.pl > Forum > PHP
n33thl
Witam.
Wyniuchałem gdzieś duży skrypt do pobierania danych z serwera CS, przerobiłem go na własne potrzeby, no i zostaje ostatni problem.
Skrypt wyświetla rezultaty za pomocą pętli, a ja potrzebuję aby wyświetlał np. jako $server['mapa']
Index:
  1. <?php
  2. $ips = Array('193.218.154.135:27110');
  3. $what_to_display = Array();
  4. $what_to_display["info"] =
  5. "map",
  6. "activeplayers",
  7. "maxplayers",
  8. );
  9. require_once("class_PQ.php");
  10. foreach($ips as $ip);
  11. unset($data);
  12. $pq_data = PQ::Create(Array());
  13. $data = array_merge($pq_data->query_info($ip), $pq_data->query_rules($ip), $pq_data->query_players($ip));
  14. foreach($what_to_display["info"] as $wartosc)
  15. {
  16. echo('<b> ' .$data[$wartosc]. '</b>');
  17. }
  18. ?>

Oczywiście do tego są też inne pliki... Skrypt ogólnie działa, tylko chciałbym to oprawić w ładną ramkę a bez tablic / zmiennych z tym ani rusz. Mógłby ktoś pomóc?
Próbowałem też tak:
  1. ?php
  2. $ips = Array('193.218.154.135:27110');
  3. $what_to_display['info'] =
  4. "map",
  5. "activeplayers",
  6. "maxplayers",
  7. );
  8. require_once("class_PQ.php");
  9. foreach($ips as $ip);
  10. unset($data);
  11. $pq_data = PQ::Create(Array());
  12. $data = array_merge($pq_data->query_info($ip), $pq_data->query_rules($ip), $pq_data->query_players($ip));
  13. $server = $what_to_display['info'];
  14. echo $server['map'];
  15. ?>

i tak:
  1. <?php
  2. $ips = Array('193.218.154.135:27110');
  3. $what_to_display['info'] =
  4. "map" => "map",
  5. "active" => "activeplayers",
  6. "max" => "maxplayers",
  7. );
  8. require_once("class_PQ.php");
  9. foreach($ips as $ip);
  10. unset($data);
  11. $pq_data = PQ::Create(Array());
  12. $data = array_merge($pq_data->query_info($ip), $pq_data->query_rules($ip), $pq_data->query_players($ip));
  13. $server = $what_to_display['info'];
  14. echo $server['map'];
  15. print_r($server);
  16. ?>

ale nic z tego... może ktoś pomóc? :-)
thek
Ogólnie w skrypcie minimalnie zawodzi jego logika, bo z mostu widzę, że był on przystosowany do operowania na tablicach, tylko źle zastosowałeś przypisywanie danych.
Zwłaszcza ciekawe jest tutaj:
  1. foreach($ips as $ip);
Masz tylko 1 IP a na dodatek ta pętla nie robi nic bo nic w nawiasy nie ująłeś winksmiley.jpg
n33thl
Czyli co teraz muszę zrobić? Może ktoś mnie naprowadzić? Aktualnie mam tak:
  1. <?php
  2. $ips = Array('193.218.154.135:27110');
  3. $what_to_display['info'] =
  4. "map" => "map",
  5. "active" => "activeplayers",
  6. "max" => "maxplayers",
  7. );
  8. require_once("class_PQ.php");
  9. foreach($ips as $ip);
  10. unset($data);
  11. $pq_data = PQ::Create(Array());
  12. $data = array_merge($pq_data->query_info($ip), $pq_data->query_rules($ip), $pq_data->query_players($ip));
  13. $server = $what_to_display['info'];
  14. echo $server['active'];
  15. print_r($server);
  16. ?>

I zwraca mi to wynik
Kod
activeplayersArray ( [map] => map [active] => activeplayers [max] => maxplayers )



EDIT:
Dobra, poradziłem sobie.
wystarczyło dać echo $data['map'] (w przypadku 1 wersji podanej w 1. poście).
Do zamknięcia.
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.