![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 19.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
Witam!
Jak zrobić grupowanie w pdo? Tzn. mam jedną table: tablenam: id, id_column1, id_column2 I teraz tak: id_column1 = 1 ; id_column2 = 3 ; ______________ Kolejny rekord: id_column1 = 1 ; id_column2 = 4 ; I chce wyświetlić wyniki aby wyglądało to mnie więcej tak: id_column1 ma wartości: 3, 4 Szczerze mówiąc to nawet nie wiem czy tu trzeba zastosować group by, czy może coś innego (IMG:style_emoticons/default/wink.gif) Bardzo proszę o pomoc (IMG:style_emoticons/default/wink.gif) PS. Szukałem po necie, ale jeśli wy coś znajdziecie tzn że źle szukałem, i poprosił bym o linka (IMG:style_emoticons/default/wink.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
normalnie robisz pdo->query('zapytanie')
a zapytanie powinno wygladac mniej wiecej tak: SELECT id_column1 FROM twoja_tabela i tyle (IMG:style_emoticons/default/wink.gif) bo z w/w wynika ze chcesz pobrac tylko jedna kolumne, tak? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 19.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
Nie rozumiesz mnie (IMG:style_emoticons/default/wink.gif)
Chce by pobrało mi wszystkie dane gdzie id_column1 = 1, i to wiem jak zrobić (warunek WHERE), ale gdy za pomocą pętli wyświetlę to, wtedy będzie coś takiego: id_column1 = 3 ; id_column1 = 4 ; a ma być: id_columnd1 = 3 (najniższa wartość). To też by nie był problem, ale mam takich id_columnd z 20, 30 (czyli id_column1, id_column2 itd...) i do tego są przypisywane jakieś informacje (w tym wypadku w postaci integer), i chce by podczas wyświetlania wyników przez pętle foreach id_columnX nie powtarzała się, tylko był pokazywa najniższy ID (ten przypisany). Mam nadzieje że teraz w miarę jasno się wyraziłem (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
order by - sortujemy wedlug id_column1 rosnąco LIMI1 - wyświetlamy tylko jeden wynik załatwione (IMG:style_emoticons/default/wink.gif) o to chodzi? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 19.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
Nie, nie o to (IMG:style_emoticons/default/wink.gif) Znam php w stopniu wyższym niż podstawowy, więc wiem co to limit (IMG:style_emoticons/default/wink.gif)
By to było dobre rozwiązanie lecz to da efekt tylko dla jednego, a ja mam taki rekordów z kilka set i chodzi o to żeby powiązane ze sobą column1 i column2 były wypisane jeden raz. Nic innego niż group by nie przychodzi mi do głowy, lecz w PDO nie bardzo, a raczej nic nie działa... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 11.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 19.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
Nie, nie starczy (IMG:style_emoticons/default/smile.gif)
Dobra wielkie dzięki za próbę pomocy, ale jednak po namyślę opcję w moim projekcie zrobię zupełnie inaczej, więc ten problem odchodzi z głowy, ale jeśli ktoś coś zrozumiał z mojego bełkotu to będęwdzięczny jak poda mi rozwiązanie - ot taka nauka na przyszłość (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Pewnie chodzi o :
Ewentualnie jeśli potrzebna jest tylko najniższa wartość to MIN( id_column2 ) zamiast tego GROUP_CONCAT(). Ten post edytował pmir13 11.05.2013, 20:48:50 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:04 |