Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyszukiwanie danych
Forum PHP.pl > Forum > Przedszkole
php__amator
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 .... sad.gif

nospor
Robisz to na poziomie mysql uzywajac DISTINCT
http://dev.mysql.com/doc/refman/5.0/en/select.html
php__amator
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
mmmmmmm
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
php__amator
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 smile.gif ... sie nie pali smile.gif
mmmmmmm
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
php__amator
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 smile.gif

Dzieki za wyprostowanie mnie w temacie DISTINCT panowie.

Pozdrawiam
phpamator
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.