Witam z bazy danych pobieram informację która zwraca użytkowników którzy posiadają daną domenę, jednak użytkownik który posiada 3 domeny zwraca 3 razy pole z imieniem. Chciałbym aby poniższa pętla ograniczała pole "name" tylko do 1 wyniku
require_once "connect.php"; $connect = @new mysqli($host, $db_user, $db_password, $db_name); $result = $connect->query("SELECT p.name, d.domain_name FROM domains d LEFT JOIN persons p ON d.id_person = p.id"); if($result->num_rows > 0) { while($row = $result->fetch_assoc()) { http://www.php.net/echo $row["name"].'<br>'; http://www.php.net/echo $row["domain_name"].'<br>'; }
Jestem początkujący, ale może najpierw trzeba wybrać same imiona z bazy i potem podstawić do kolejnego zapytania o przypisane domeny?
if($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $name[] = $row["name"].'<br>'; $domains[] = $row["domain_name"].'<br>'; } traz echoo $name[0]; a potem w petli wyswietl domeny
Nie ma sensu robić 2 zapytań. To które jest teraz jest ok, po prostu przy fetchowaniu danych trzeba je odpowiednio pogrupować:
$connect = @new mysqli($host, $db_user, $db_password, $db_name); $result = $connect->query("SELECT p.id, p.name, d.domain_name FROM domains d LEFT JOIN persons p ON d.id_person = p.id"); $results = []; while ($row = $result->fetch_assoc()) { if(!http://www.php.net/array_key_exists($row['id'], $results)){ $results[[$row['id']]] = [ 'name' => $row['name'], 'domains' => [] ]; } $results[$row['id']]['domains'][] = $row['domain_name']; } http://www.php.net/var_dump($results);
Nospor ci wczoraj napisał co masz zrobić a ty dalej to wałkujesz jako nowy temat. Po co?
if($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $name[] = $row["name"].'<br>'; $domains[] = $row["domain_name"].'<br>'; } traz echoo $name[0]; a potem w petli wyswietl domeny
No tak tak. Ostatnio mam kupe spraw na glowie. Czasami tak bywa. Przepraszam jak wprowadzilem w błąd
Pytanie czy można w jakiś sposób ukryć dublujące się rekordy?
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)