Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] select bez powtórzen
Forum PHP.pl > Forum > Przedszkole
blokern
Witajcie,
jak powinno wygladac zapytanie php ktore wyciaga z bazy dane i nie pokazuje powtorzen

mam baze miasta a w niej rekody
1. warszawa
2. kraków
3. warszawa
4. poznań
5. wieleń
6. warszawa

i chce to wyrzucic z bazy tak zeby pokazalo

warszawa, kraków, poznań, wieleń


normalny select pokazuje mi oczywiscie

warszawa, kraków, warszawa, poznań, wieleń, warszawa

z gory dziekuje za podpowiedz

pozdrawiam
Mitok
$licz=0;
petla(costam)
{
$nazwy[$licz]=$row[miasto];

for($licz2=+;$licz<=$licz2;licz2++)
{
if($nazwy[$licz]==$nazwy[$licz2]) echo''; else echo "$nazwy[$licz]";
}

$licz++;
}

Rozwionzanie jest zakręcone napewno da się to ładniej napisać ale do domu wystarchy... smile.gif

*Odtadza się używanie tej metody powyżej 100 a nawet 20 rekordow w bazie danych...

Pozdrawiam ;p
woj_tas
SELECT DISTINCT
isso
Do tego służy funkcja DISTINCT, przykładowo:

  1. SELECT DISTINCT `id` FROM `tablica` LIMIT 0 , 30

jezeli w Tablicy bedzie kilka pozycji o tym samym id, zostanie ono wyświetlone tylko raz(to id)
blokern
Cytat(isso @ 6.04.2008, 20:14:13 ) *
Do tego służy funkcja DISTINCT, przykładowo:

  1. SELECT DISTINCT `id` FROM `tablica` LIMIT 0 , 30

jezeli w Tablicy bedzie kilka pozycji o tym samym id, zostanie ono wyświetlone tylko raz(to id)


bardzo dziekuje
a moge jeszcze zapytac jak posortowac wyniki alfabetycznie ?

pozdrawiam
isso
  1. SELECT DISTINCT `miasto` FROM `tablica` ORDER BY `miasto` ASC LIMIT 0, 30


smile.gif ORDER BY ... ASC
blokern
przepraszam nie dodalem smile.gif chodzi o takie sortowanie zeby Łódź i inne miasta zaczynajace sie na Polskie litery nie były na końcu listy ?
isso
Nie rozumiem... napisz jak ma wygladać Twoje posortowanie smile.gif przykład smile.gif
blokern
teraz mam tak

białystok
bydgoszcz
ciechanów
kraków
toruń
warszawa
łódź
świnoujście

a fajnie gdyby było


białystok
bydgoszcz
ciechanów
łódź
kraków
świnoujście
toruń
warszawa

pozdrawiam smile.gif
Kicok
Spróbuj zaraz po połączeniu wykonać zapytanie:
  1. SET NAMES utf8 COLLATE utf8_polish_ci

lub:
  1. SET NAMES latin2 COLLATE latin2_polish_ci



Ewentualnie zmo0dyfikuj ORDER BY do takiej postaci:
  1. ORDER BY kolumna COLLATE utf8_polish_ci ASC

lub:
  1. ORDER BY kolumna COLLATE latin2_polish_ci ASC
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.