![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Używam GROUP_CONCAT aby połączyć rekordy z dwóch tabel. Ustawiłem poniższy warunek. Jednak w sytuacji kiedy jest więcej niż 1 rekord to poniższe zapytanie nie działa. Proszę o pomoc jak rozwiązać problem.
$oneYearOn3 = date('Y-m-d'); if (($row["domain_ends"]<$oneYearOn2)) { echo '<td class="box_small_red" data-column="Ważność domeny"><div class="box_admin">'.$row["domain_ends"].'</div></td>'; } else { echo '<td class="box_small_green" data-column="Ważność domeny"><div class="box_admin">'.$row["domain_ends"].'</div></td>'; } [/php] |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat to poniższe zapytanie nie działa Nie podales zadnego zapytania tutaj
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Więcej niż jeden rekord, który wpada do grupy łączonej poprzez GROUP_CONCAT, tak?
Jak ma więc działać, skoro wynikiem jest kilka dat połączonych w jeden string, a Ty porównujesz całość z datą? -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
poza tym, moja szklana kula mowi ze:
twoj warunek wyglada tak data1,data2<$oneYearOn2 Wiec niby jakim cudem daty oddzielone przecinkiem (czy czym ty je tam laczysz w GROUP_CONCAT) maja byc od czegos mniejsze/wieksze? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No juz zapytanie jest zbedne jak dostales od nas wyjasnienie co jest zle.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Czy jest jakiś inny sposób na porównywanie rekordów przy użyciu GROUP_CONCAT ?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Najpierw musisz odpowiedzieć sobie na pytanie jaką informację chcesz wyświetlić, kiedy jedna data w grupie będzie wygasać, a pozostałe nie (lub odwrotnie).
Możesz albo rozdzielić grupę w PHP i sprawdzać każdą datę z osobna, albo sprawdzić ważność dla grupy (na podstawie warunku j.w.) już w samym zapytaniu. -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
W dużym skrócie posiadam w bazie danych tabele osoby, tabele domeny i tabelę adresy e-mail. Jedna osoba może mieć np. dwie domeny i 6 adresów e-mail przypisanych do danej domeny. W jaki sposób mogę rozdzielić wynik z zapytania GROUP_CONCAT tak abym mógł zrobić konkretne warunki
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dla każdej daty z osobna będziesz robił warunek?
Jeśli tak, to po co w ogóle sklejasz daty w jeden ciąg? -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
jeżeli nie nie użyje group_concat dla d.domain_end to wynikiem będzie tylko jeden rekord.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Bo grupujesz po p.id. Tak działa zapytanie.
Zamiast grupować w zapytaniu, wyciągnij normalnie rekordy i pogrupuj je w PHP. -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@trueblue juz mu to pisalem w tym temacie
http://forum.php.pl/index.php?showtopic=26...p;#entry1248952 Ale to nie ma znaczenia czy on to grupuje czy nie. Jak grupuje to niech zrobi zwykle EXPLODE i tez bedzie mial tablice. Oba przypadki dadza ten sam efekt: tablice dat. Nie ma znaczenia jak do tego dojdzie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem przy użyciu explode, jednak utknąłem w miejscu ponieważ nie wiem jak dalej zrobić warunek aby sprawdzał poszczególny rekord.
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie odpowiedziales na zadane wczesniej pytanie:
czy wszystkie daty maja spelniac warunek czy tylko jedna. To bardzo istotne pytanie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Tak wszystkie daty
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to wrzucasz to w petle i jedziesz
edit: czekaj, nie zwrocilem na zawartosc tego co potem w IF masz. To wiec raczej powinno wygladac tak -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zobacz moja edycje z poprzednieg posta
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Twoje zapytanie działa kiedy wszystkie rekordy spełniają warunek. Natomiast ja potrzebuje czegoś innego tzn. jeżeli jedna z dat spełnia warunek to np. zmienia się jej kolor na box czerwony, a reszta dat zmienia kolor zielony. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:43 |