Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Stworzenie specyficznego zapytania do bazy danych lub filtrowanie w php, Zniwelowanie powielania się danych w wyniku (1 wiersz = 1 pozycja)
patrix007
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 18.07.2010

Ostrzeżenie: (0%)
-----


Witam (IMG:style_emoticons/default/smile.gif)

Postanowiłem pogłębić nieco moją wiedzę w tej dziedzinie i zabrać się za coś odrobinkę trudniejszego.
Zabawa szła dobrze do pewnego momentu, już wyjaśniam o co mi chodzi.

Mam taką o to bazę danych (a raczej jej potrzebny tutaj fragment):

(IMG:http://members.multimania.co.uk/patriks007/forumPHP/widok.jpg)

Stworzyłem sobie takie oto zapytanie:

(IMG:http://members.multimania.co.uk/patriks007/forumPHP/zapytanie.jpg)

Które daje taki wynik w phpadminie:

(IMG:http://members.multimania.co.uk/patriks007/forumPHP/wynik.jpg)


Moje pytanie polega na tym, jak "unormalnić" ten wynik zapytania ?
Normalną sprawą jest, że funkcja w php mysqli_fetch_assoc listuje ten wynik w taki sam sposób j/w co utrudnia mi strasznie zabawę bo nie mam pomysłu jak to przefiltrować w PHP.
A może nie wpadłem na pomysł i da się to sprytnie poprawić w samym zapytaniu zaoszczędzając sobie sporo dłubania w PHP ?

Aby była całkowita jasność mojej wizji podam przykład wyniku jaki właśnie mnie interesuje:

(IMG:http://members.multimania.co.uk/patriks007/forumPHP/marzenie.jpg)

Bawiłem się troszeczkę GROUP_CONCAT ale moimi pomysłami realizuję powyższy plan co najwyżej połowicznie (IMG:style_emoticons/default/worriedsmiley.gif)

Proszę o rady/pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
patrix007
post
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 18.07.2010

Ostrzeżenie: (0%)
-----


Kolejny problem mam.

Tym razem chodzi o to, że jak dodam pod polecenie WHERE:
  1. aktorzy IN ('Bruce Willis')

To pokazuje mi się błąd:
Kod
#1247 - Reference 'aktorzy' not supported (reference to group function)


Inna sprawa jak przeprowadzić (w/w zapytaniu) wyszukiwanie po kolumnie np. 'gatunek' gdzie mam zastosowane grupowanie ale tak aby w wynikach dalej istniało to grupowanie ?

Uściślając, filmy mają zazwyczaj po kilka gatunków, które listują się poprawnie, zaś gdy dodam polecenie po WHERE:
  1. gatunek.nazwa IN ('akcja')

to w prawdzie poprawnie listuje wszystkie filmy o tym gatunku lecz grupowanie znika i w kolumnie gatunek zostaje tylko 'akcja' mimo, że powinno wylistować dwa gatunki do tej pozycji


OK, dołączyłem tabelę jeszcze raz jako tmp (INNER JOIN) i jest dobrze, na niej wykonałem IN (IMG:style_emoticons/default/smile.gif)

Ten post edytował patrix007 1.08.2010, 14:25:40
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.08.2026 - 01:25