![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 14.02.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dzień dobry, potrzebuje by ktoś nakierował mnie na rozwiązanie mojego problemu a mianowicie w bazie mam dane, które wyglądają tak
http://ifotos.pl/zobacz/tabelates_qnwaqaa.jpg i są wyświetlane zapytaniem
teraz muszę znaleźć wszystkie podobne do siebie obiekty ze względu na wartości dla atrybutów. Zapytaniem
udało mi się osiągnąć taki efekt http://ifotos.pl/zobacz/dlajedneg_qnwaqqr.jpg jeśli chodzi o pole nr_kolumny to jego wartość odpowiada nazwie atrybutu tj. nr_kolumny = 1 to Bol_glowy, nr_kolumny = 2 to Bol_miesni itd. teraz potrzebowałabym sprawdzić, które obiekty mają takie same wartości dla atrybutów Bol_glowy i Bol_miesni wynik jaki powinnam uzyskać to: 1 NIE TAK 4 NIE TAK 6 NIE TAK 2 TAK NIE 5 TAK NIE 3 TAK TAK W sumie będę musiała sprawdzić to samo dla nazwa_atrybutu: Bol_glowy Bol_miesni Temperatura Bol_glowy , Bol_miesni Bol_miesni , Temperatura Bol_Glowy , Temperatura Bol_glowy, Bol_miesni, Temperatura Bol_glowy, Temperatura, Grypa Bol_glowy, Bol_miesni, Temperatura, Grypa Czy mógłby ktoś podsunąć mi jakiś pomysł jak to zrobić, jakieś przydatne linki, cokolwiek? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 13 Dołączył: 29.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
A To musi być koniecznie w MySQL? Można to w prosty sposób zrobić w PHP ale nie wiem czy może być uwzględnione
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 14.02.2017 Ostrzeżenie: (0%) ![]() ![]() |
A To musi być koniecznie w MySQL? Można to w prosty sposób zrobić w PHP ale nie wiem czy może być uwzględnione Nie, bez problemu może być PHP w php udało mi się zrobić przy użyciu tablic to co chciałam ale tylko dla każdego pojedynczego atrybutu czyli dla Bol_glowy Bol_miesni Temperatura a dla Bol_glowy , Bol_miesni Bol_miesni , Temperatura Bol_Glowy , Temperatura Bol_glowy, Bol_miesni, Temperatura Bol_glowy, Temperatura, Grypa Bol_glowy, Bol_miesni, Temperatura, Grypa niestety już nie potrafię / nie mam pomysłu |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 13 Dołączył: 29.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Możesz zrobić to w taki sposób: pobierasz wszystkie dane a następnie tworzysz dwuwymiarową tablicę asocjacyjną i zapisujesz do niej przefiltrowane dane czyli $tab[3040] = ('bolmiesni' => 'tak', 'bolglowy' => 'tak') i tak dalej. Postaram się ogarnąć to wieczorem i coś odpiszę.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 14.02.2017 Ostrzeżenie: (0%) ![]() ![]() |
Możesz zrobić to w taki sposób: pobierasz wszystkie dane a następnie tworzysz dwuwymiarową tablicę asocjacyjną i zapisujesz do niej przefiltrowane dane czyli $tab[3040] = ('bolmiesni' => 'tak', 'bolglowy' => 'tak') i tak dalej. Postaram się ogarnąć to wieczorem i coś odpiszę. Na chwile obecną mój kod wygląda w ten sposób
i to efekt dla jednego atrybutu. Niby w teorii wiem jak to zrobić, ale tak naprawdę nie wiem. Myślałam, że tym sposobem, który zrobiłam dla pojedynczego atrybutu uda mi się osiągnąć efekt jakiego oczekuje, ale niestety tak się zamotałam, że nie jestem w stanie tego ogarnąć |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 13 Dołączył: 29.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Musisz to zrobić na takiej zasadzie, że najpierw tworzysz sobie tablicę i w niej wpisujesz kryteria do filtrowania. Następnie tworzysz pętlę w oparciu o tą tablicę i w tej pętli zapytanie do bazy danych. Następnie w tej pętli tworzysz kolejną w oparciu o wyniki z bazy danych. W tej drugiej pętli porównujesz wyniki z bazy danych z ustalonymi przez Ciebie kryteriami. Jeżeli wynik z bazy danych będzie się równał Twojemu kryterium to dodajesz go do tablicy asocjacyjnej. Wynik powinien być taki:
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
W MySQLu piszesz jak w PHP masz instrukcje warunkowe, Switch, IF, możesz sobie pisać tez funkcje jak w PHP
zerknij to CASE i IF Ten post edytował LowiczakPL 25.04.2018, 05:55:34 -------------------- Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:40 |