Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyszukiwanie danych
php__amator
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

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


Witam,
Szybkie pytanko, jak spowodowa aby dane do listy rozwijanej generowanej dynamicznie, pobierane byly w taki sposb :
jesli juz taka np nazwa lub imie zostala pobrana omin. Chodzi mi o to ze w bazie ta sama warto jest zapisana w wielu wierszach a chcialbym ja pobrac tylko raz I nie powielac w wygenerowanej liscie.

Kompletnie nie mam pomysu .... (IMG:style_emoticons/default/sad.gif)

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Robisz to na poziomie mysql uzywajac DISTINCT
http://dev.mysql.com/doc/refman/5.0/en/select.html
Go to the top of the page
+Quote Post
php__amator
post
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

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


Super dzieki a masz jakis jasniejszy przyklad ?
Na stronie ktora podales jest dosc duzo na temat selektywnego wyszukiwania oraz wieeeele innych ale sama opcja DISTINST jest troche niejasna jak dla mnie "amatora".

Moze masz jaki p r o s t y przyklad jak powinna wygladac skladnia zapytania w tym przypadku ?

SELECT DISTINCT * FROM table GROUP BY field;
?

Ooo yes Ooo yes, taka forma dziala bez pudla.
Dodalem te opcje I pieknie grupuje wyswietlajac na liscie tylko pojedyncze wyniki zamiast powielonych.
EXtra

Dziekuje nospor

Ten post edytował phpamator 17.09.2013, 14:48:37
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #4





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

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


DISTINCT z * i z GROUP BY? Co to za potworek?? Jest pełno manuali do SQL w sieci. Również po polsku. przeczytaj choć jeden...

Prawidłowo powinno być na jeden z dwóch sposobów:
  1. SELECT DISTINCT pole FROM tabela

lub
  1. SELECT pole FROM tabela GROUP BY pole


Ten post edytował mmmmmmm 17.09.2013, 19:16:16
Go to the top of the page
+Quote Post
php__amator
post
Post #5





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

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


No jest no jest oczywicie mmmmmmmmmm ale dlaczego zaraz potworek ?

To ze zamiast okreslonej kolumny klepnalem * to chyba nie jest nic strasznego.
poza tym zgodnie z tej instrukcji która gdzies tam przeczytaem taka forma jest jak najbardziej poprawna I
najwazniejsze ze zadzialalo jak tego oczekiwalem, wszystko w tym temacie.

Co za ludzie. Czy to lezy w nature polaków zeby sie czepiac detali zamiast spokojnie wyjasnic tymbardziej, ze skoro zadaje pytanie w dziale "PRZEDSZKOLE" to chyba nie jestem asem ? (a skoro wiesz doskonale jak to jest lub powinno byc to poprostu powiedz "to jest niepotrzebne, to zrob tak I bedzie dobrze".)

Nie sadzisz Panie mmmmmmmmmm ?

Ja z pewnoscia poslucham, posprawdzam, potestuje I sam wyciagne wnioski a jesli cos do mnie nie dotrze to znowu zadam jakies glupawe pytanie I moze ktos normalny zechce podzielic sie rozwiazaniem albo wskaze wlasciwa droge.

Tak czy siak po mojemu dziala a udoskonalac bede krok po kroku (IMG:style_emoticons/default/smile.gif) ... sie nie pali (IMG:style_emoticons/default/smile.gif)
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. Napisałem jak jest prawidłowo.
2. Nie może być * w połączeniu z GROUP BY [jakieś pole]. Teoria mówi, że jeśli [jakieś pole] jest unikalne, to może tak być. Ale tylko w MySQL. UStaw sobie SQL_MODE=ANSI (czyli najbardziej SQL-owy tryb), to się przekonasz czy zapytanie SELECT * FROM tabela GROUP BY id sie wykona...
3. DISTINCT w połączeniu z poprawnym GROUP BY jest niepotrzebny. Oba robią dokładnie to samo
Go to the top of the page
+Quote Post
php__amator
post
Post #7





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

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


Cytat(mmmmmmm @ 19.09.2013, 14:01:28 ) *
1. Napisałem jak jest prawidłowo.
2. Nie może być * w połączeniu z GROUP BY [jakieś pole]. Teoria mówi, że jeśli [jakieś pole] jest unikalne, to może tak być. Ale tylko w MySQL. UStaw sobie SQL_MODE=ANSI (czyli najbardziej SQL-owy tryb), to się przekonasz czy zapytanie SELECT * FROM tabela GROUP BY id sie wykona...
3. DISTINCT w połączeniu z poprawnym GROUP BY jest niepotrzebny. Oba robią dokładnie to samo


Hej, czyli jednak mozna po ludzku .... przeczytalem I od teraz juz bede wiedzial. DZIEKUJE BARDZO za OSWIECENIE mnie prostaczka.

Wychodzi na to ze MySQL jest bardziej odporny na glupote operatora skoro pozwala na wyslanie nieprawidlowo skonstruowanego zapytania. Niemniej poniewaz dziala I nie zauwazylem bledu/ow zostawilem to jak bylo. W tej systuacji przygladal sie bede temu blizej I ustawie zapytanie tak jak byc powinno.

O takie odpowiedzi wlasnie walcze bo wiekszosc uzytkownikow forum traktuje tych mniej obeznanych poprostu z gory. A forum zdecydowanie nie na tym polega.

Chyba ze sie myle, obym nie (IMG:style_emoticons/default/smile.gif)

Dzieki za wyprostowanie mnie w temacie DISTINCT panowie.

Pozdrawiam
phpamator
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: 22.08.2025 - 13:15