radmax
22.03.2004, 14:48:16
Mam bazę danych, w której znajduje się nazwa i ulica instytucji oraz kategoria. Logika działania wygląda nastepująco:
1 użytkownik wybiera kategorię - wyświetla się lista ulic dostepnych w bazie - i tu powstaje problem... jeżeli na dane ulicy znajdują się dwie lub więcej instytucji to w wynikach wysietlana jest dana ulica więcej niż raz. Co robić?
MaKARON
22.03.2004, 15:15:55
SELECT DISTINCT....
ew:
$last = "";
while(!$res->EOF) {
if ($res->fields['nazwaUlicy'] == $last)
continue;
$last = $res->fields['nazwaUlicy'];
// stand up and do something!
}
spenalzo
22.03.2004, 15:16:40
[sql:1:aa3e925c38]... GROUP BY ulica ...[/sql:1:aa3e925c38]
MaKARON
22.03.2004, 22:02:06
Czemu ja nie dostałem 'pomógł'

? Mój kod jest równie skuteczny... Aministratorzy preferują siebie

!!!
Majdan
22.03.2004, 22:55:19
Po co się męczyć skryptami w php, jeżeli można dodać jedno polecenie w SQL :?:
Kod, fakt działa, ale za dużo kombinowałeś i nie ma to sensu. :wink:
DeyV
23.03.2004, 11:24:18
akurat w tym przypadku rozwiazanie z DISTINCT było najlepszym możliwym (szybszym niż GROUP).
A podany przykład w php, jak widzę, MaKARON podał tylko jako ewentualnoość, która również, (choć nie za często) może się przydać.
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.