Problem z wyswietleniem danych w php po zapytaniu do mysql

0

Witam mam mały problem po zapytaniu z relacjami miedzy bazami danych dostaję wynik taki jakbym chciał, lecz problemem jest przy wyswietleniu go na stronie za pomocą php, jako że wynik zwraca mi kilka rekordów czyli(nick-ów) w tym przypadku to przy wyświetlaniu zmiennej na stronie czy to w sessji czy nie, pokazuje tylko jeden wynik nie pokazuje ich wszystkich poniżej kod SQL

SELECT brejestracja.nick FROM brejestracja, bturnieje, buczestnicy WHERE buczestnicy.idt = 1 
AND buczestnicy.idt = bturnieje.idt AND buczestnicy.idr = brejestracja.idr

a tu php

$TR1Z_SQL = $polaczenie->query("SELECT brejestracja.nick FROM brejestracja, bturnieje, buczestnicy WHERE buczestnicy.idt = 1 
AND buczestnicy.idt = bturnieje.idt AND buczestnicy.idr = brejestracja.idr");
while($TR1Z = $TR1Z_SQL->fetch_assoc())
{
 $_SESSION['nick'] = $TR1Z['nick'];
echo $_SESSION['nick']."<br>";
}

sprawdzałem też co dostałem z tablicy : Array ( [nick] => lasio ) Array ( [nick] => Spilter1989 ) i wygląd wszystko dobrze
po przypisaniu do zmiennej sesji i sprawdzeniu też wynik pokazuje:
lasio
Spilter1989
ale jak już przeniosę na inną podstronę zaczyna się problem i pokazuje tylko jeden rekord, pierwszy co jest w bazie danych mysql.

Może już jest późno i myślenie mnie zawodzi ale bardzo bym prosił o pomoc jeśli ktoś wie jak to zrobić albo co robię źle Dzięki wielkie.

0

Wpisujesz w pętli wartość ciągle do tej samej zmiennej to siłą rzeczy pokaże Ci tylko ostatnią.

0

no dobra to inne pytanie jak wyświetlić kilka wierszy z bazy danych co maja to samo id?
baza wygląda tak:

| idut | idt | idr | zarejestrowani |
| 1 | 1 | 2 | Spilter1989 |
| 2 | 1 | 1 | lasio |
| 3 | 1 | 3 | janek |

idut - primary key(auto increment)
idt - id z tabeli turnieje
idr - id użytkownika z tabeli rejestracja
zarejestrowani - nick z tabeli rejestracja

na stronie chciałbym wyświetlić całą kolumnę zarejestrowani jeden pod drugim jakieś pomysły ?
kod który dodaje do tabeli uczestnicy_turnieju

$polaczenie->query("INSERT INTO buczestnicy_turnieju (idut, idr, idt, zarejestrowani) VALUES (NULL, '$idr', '$idt', '$nick')");

kod który ma wyciągnąć z bazy kolumnę zarejestrowani z tabeli uczestnicy turnieju:

$TR1Z_SQL = $polaczenie->query("SELECT zarejestrowani FROM buczestnicy_turnieju WHERE buczestnicy_turnieju.idt = '$idt'");
$TR1Z = $TR1Z_SQL->fetch_assoc();
$_SESSION['zarejestrowani'] = $TR1Z['zarejestrowani'];

wyciąga tylko jeden wiersz zamiast całej kolumny i tego nie ogarniam bo jak wpisze to samo zapytanie do mysql edytora w phpmyadmin to zwróci mi całą kolumnę.
może mi ktoś wytłumaczyć dlaczego tak jest ??

w sumie już wiem gdzie robiłem błąd może komuś się kiedyś przyda niżej daje rozwiązanie:

$result = $polaczenie->query("SELECT * FROM buczestnicy_turnieju WHERE buczestnicy_turnieju.idt = '$idt'");
if($count = $result->num_rows){
	echo '<p>'.$count." <-ilość zwróconych wierszy".'</p>';
	$rows = $result->fetch_all(MYSQLI_ASSOC);
	foreach($rows as $row){
		echo $row['zarejestrowani']." <-nick zarejestrowanego<br>";
		}
		echo '<pre>', print_r($rows), '</pre>';
}
0

A dlaczego w pętli pakowałeś non stop do zmiennej sesji 'nick', pobrany wiersz w pętli ? Bez sensu. Przypuszczam, że jakbyś po prostu zrobił:

while($TR1Z = $TR1Z_SQL->fetch_assoc())
{
echo $TR1Z['nick'];
}

to byłoby ok.

1

wyciąga tylko jeden wiersz zamiast całej kolumny i tego nie ogarniam bo jak wpisze to samo zapytanie do mysql edytora w phpmyadmin to zwróci mi całą kolumnę.
może mi ktoś wytłumaczyć dlaczego tak jest ??

Bo nie czytasz dokumentacji rzeczy, których używasz... Norma w Polsce... Bo polak wie najlepiej jak co działa, po co czytać dokumentację... Milion pytań na forum, ale google używać, API albo stacka nie.. bo po co..

1 użytkowników online, w tym zalogowanych: 0, gości: 1