• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Pobieranie danych z bazy - rozdzielenie

Object Storage Arubacloud
0 głosów
352 wizyt
pytanie zadane 9 października 2019 w PHP przez robert251346 Nowicjusz (150 p.)
zamknięte 13 października 2019 przez robert251346

Dzień dobry, 

Mam problem w swoim programie PHP. Skrypt ma za zadanie pobierać z bazy danych phpMyAdmin dane odnośnie hostów (nazwy np fb.com). Następnie ma nazwy hostów wrzucić do funkcji, która sprawdza czy port danego hosta działa prawidłowo. Problem w tym, że przy zapytaniu SQL (wyborze hostów z tabeli) i wyświetleniu ich za pomocą echo wyrzuca wszystkie wyniki wypisane w jednym ciągu (nierozdzielone np. wp.plfb.cominteria.pl). Kiedy w zapytaniu stwierdzę, że np. ma być to host o id=3 (np. fb.com) to wtedy skrypt działa prawidłowo ale kiedy chce wziąć wszystkie dane z tabeli (kolumna 'adres') to wtedy łączy wynik w jeden ciąg.. Chciałbym aby skrypt pobierał z bazy danych adres hosta, sprawdził go po czym w kolumnie obok (status) wpisał wartość OK bądź AWARIA. W tabeli mam 5 nazw hostów. 

}
$host1 = mysqli_query($polaczenie, "SELECT adres FROM domeny") or die ("Błąd zapytania do bazy: $dbname");

while ($host2 = mysqli_fetch_row($host1)) {
$host3= $host2[0];
print $host2[0];
$port = '80';
}
function sprawdzenie() {
	global $host3, $port;
$fp = @fsockopen($host3, $port, $errno, $errstr, 30);
if ($fp) { return 'OK'; } else { return 'Awaria'; }
// echo 'Host '.$host3.':'.$port.' jest: ';
// if ($fp) { echo 'OK'; } else { echo 'Awaria'; }
// if (!$fp) { echo "$errstr ($errno)"; }
}
$dolar=sprawdzenie();
$status = mysqli_query($polaczenie, "UPDATE domeny SET Status='$dolar' WHERE id between 0 and 5");

W jaki sposób mogę skonstruować zapytanie SELECT aby rozdzielało zaczerpnięte z tabeli dane? 
Przepraszam, jeżeli coś źle wytłumaczyłem.

 

 

 

komentarz zamknięcia: Rozwiązane

1 odpowiedź

0 głosów
odpowiedź 10 października 2019 przez Rocket Gaduła (3,030 p.)
wybrane 13 października 2019 przez robert251346
 
Najlepsza

Cześć.

Użyłeś funkcji print, analogiczną do niej jest println która za każdym razem wypisuje to co podajesz "w nowej linii".

https://forum.pasja-informatyki.pl/249230/println-vs-print-w-czym-jest-roznica

Zamiast while (choć niezbyt rozumiem składni przez Ciebie zastosowanej, to nie będe się wgłębiać), polecam funkcje foreach która elegancko spełni zadanie.

https://www.php.net/manual/en/control-structures.foreach.php

P.S. Twoją bazą danych nie jest phpMyAdmin, lecz MySQL (dokładniej to rodzaj bazy) do której się łączysz za pośrednictwem panelu phpMyAdmin.

Zachęcam Cię także do zapoznania się z PDO, co do połączenia z bazą danych.

 

Pozdrawiam,

Rocket.

 

komentarz 13 października 2019 przez robert251346 Nowicjusz (150 p.)
przeniesione 14 października 2019 przez HaKIM
Dziękuję a odpowiedź. Wszystko działa :)
komentarz 14 października 2019 przez Rocket Gaduła (3,030 p.)
Ciesze się że pomogłem!

 

Cała przyjemność po mojej stronie ;)

Pozdrawiam,

Rocket.
1
komentarz 14 października 2019 przez HaKIM Szeryf (87,590 p.)
Następnym razem staraj się takie komantarze zamieszczać pod odpowiedziami, nie tematem. Dzięki! :)

Podobne pytania

0 głosów
1 odpowiedź 123 wizyt
0 głosów
1 odpowiedź 641 wizyt
pytanie zadane 7 grudnia 2020 w PHP przez Bakkit Dyskutant (7,600 p.)
0 głosów
1 odpowiedź 424 wizyt
pytanie zadane 24 marca 2020 w PHP przez Hardwell Dyskutant (8,980 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...