mattii
28.09.2016, 21:33:09
mam taki fragment kodu
$Dquery = $DBcon->query("SELECT idDziecko,imie,nazwisko FROM Dziecko WHERE Rodzic_idRodzic=26 GROUP BY idDziecko"); \\ w
mysql to zapytanie zwraca mi dwoje roznych dzieci o tym samym id rodzica
$dzieckoRow=$Dquery->fetch_array();
$ile=$Dquery->num_rows;
for ($i=0; $i <$ile; $i++)
{
echo $dzieckoRow['imie'], $dzieckoRow['nazwisko']
}
for - faktycznie zwraca też dwa wyniki - ale wypisuje jedno (pierwsze dziecko)
więc pewnie coś pomieszałem z tym 'forem' ?
nospor
28.09.2016, 22:14:36
to
$dzieckoRow=$Dquery->fetch_array();
ma byc w petli a nie poza nia. Gdy to jest poza petla to pobiera raz jeden rekord i tyle
Rysh
28.09.2016, 22:58:59
Jeżeli idDziecko jest AI to nie musisz na końcu dawać GROUP BY.
mattii
29.09.2016, 08:46:03
dzieki wielkie, działa .
co do AI to faktycznie bez group by też działa - dlaczego ?
nospor
29.09.2016, 08:47:09
group by sluzy do grupowania (gdy masz powtarzajace sie kolumny) a tu nie ma co grupowac.
mattii
29.09.2016, 10:10:41
czyli grupowałbym jeśli powtarzałoby się np. imię, a jak powtarza się klucz obcy to nie grupuje ?
nospor
29.09.2016, 10:14:28
nie wyswietlasz danych ktore sie powtarzaja. Wyswietlasz unikalne dzieci wiec nie ma co ich grupowac bo sa unikalne
nawet jaby sie imie powtarzalo, bo przeciez moze byc, ze jest kilkoro dzieci z tym samym imieniem, to by nie bylo potrzeby grupowania bo to kazde osobne dziecko.
No chyba zebys chcial grupowac po imionach jakbys sie uparl, ale tutaj nie ma to znaczenia
mattii
29.09.2016, 18:09:52
dzieki za wyczerpuącą odpowiedź, teraz kumam.
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.