Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Grupowanie kilku kolumn względem siebie, z trzech kolumn wynik 1 2 3 zamiast 111 222 333
joordan
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 1
Dołączył: 15.06.2010

Ostrzeżenie: (10%)
X----


Siedzę dzisiaj cały dzień i nie mogę znaleźć rozwiązania. Próbowałem łączyć trzy zapytania w jedno, zrobić to na tablicach wielowymiarowych, próbowałem zrobić to na kilku pętlach i wspomóc to jakimś wyrażeniem w if. Nie mam pojęcia jak uzyskać zamierzony efekt. Czy to w ogóle jest możliwe...?


Gdy zapytanie piszę w ten sposób wychodzą mi jakieś głupoty.

  1. $zapytanie= mysql_query("SELECT kolor1, kolor2, kolor3 FROM przedmiot GROUP BY kolor1 AND kolor2 AND kolor3");
  2. while($zap= mysql_fetch_array($zapytanie))
  3. {
  4. echo '<p>'.zap[0].'</p><p>'.zap[1].'</p><p>'.zap[2].'</p>'
  5. }




Powiedzmy że tabela wygląda tak

kolor1 | kolor2 | kolor3
| 2 | 3 | 4 |
| 3 | 3 | 1 |
| 2 | 1 | |
| 3 | 1 | 3 |
| 2 | 1 | 3 |

I chcę z niej wybrać kolor1, kolor2, kolor3

W tej postać
1
2
3
4

Zamiast
2
3

1
3

1
3
4

Ten post edytował joordan 27.04.2013, 22:46:21
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
pmir13
post
Post #2





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


Ale skąd te kolory 5,6,7? Czy ten przykład na pewno jest poprawny?
Go to the top of the page
+Quote Post
joordan
post
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 1
Dołączył: 15.06.2010

Ostrzeżenie: (10%)
X----


Przepraszam, poprawiłem (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
pmir13
post
Post #4





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


Jeśli chodzi o wypisanie możliwych kolorów z trzech różnych kolumn to wystarczy:

  1. SELECT DISTINCT(kolor1) AS kolor FROM przedmiot
  2. UNION SELECT DISTINCT(kolor2) AS kolor FROM przedmiot
  3. UNION SELECT DISTINCT(kolor3) AS kolor FROM przedmiot
  4. ORDER BY kolor
Go to the top of the page
+Quote Post
joordan
post
Post #5





Grupa: Zarejestrowani
Postów: 51
Pomógł: 1
Dołączył: 15.06.2010

Ostrzeżenie: (10%)
X----


Wielkie dzięki. Samouk bez studiów wiecznie głupi, nawet nie wziąłem pod uwagę klauzury AS (IMG:style_emoticons/default/tongue.gif)


Ja próbowałem w ten sposób ;P
  1. (SELECT DISTINCT kolor1 FROM przedmiot) UNION (SELECT DISTINCT kolor2 FROM przedmiot)


Ten post edytował joordan 27.04.2013, 23:09:27
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #6





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  1. SELECT kolor1, kolor2, kolor3 FROM przedmiot GROUP BY kolor1 AND kolor2 AND kolor3

To są jakieś głupoty. Powinno ci tak rzygnąć Errorem, bys do końca życia zapamiętał, że tak się nie robi.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 22:31