ForumCała strona

Nawigacja

Aktualnie online

Gości online: 21

Użytkowników online: 0

Łącznie użytkowników: 25,393
Najnowszy użytkownik: Assassin

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

JazOOn
06.12.2024 23:45:46
Amen

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Sortowanie wg pola w tabeli nie działa poprawnie
lomcskw
Witam!
Na stronie http://www.lokw.e... jest lista absolwentów. Niestety, nie umiem ustawić w zapytaniu SQL do bazy poprawnego sortowania wg nazwiska, póki co baza sortuje wg id. Rozwiązanie takie ma jedną wadę - lista absolwentów jest wprowadzona w odpowiedniej kolejności, ale zmiana nazwiska (np. poprawienie błędnej jego pisowni) powoduje, że pole id przestaje dawać poprawną kolejność. Jeśli ustawię sortowanie wg nazwiska - otrzymam kolejność Ż, a potem A itd...
Aby obejrzeć przykładowe błędy kolejności wystarczy wybrać rocznik 1972.
Pozdrawiam
Andrzej
 
Wścibski Gość
Dodany dnia 22.12.2024 08:04:51
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
kefirek
Daj w zapytaniu ORDER BY nazwiska
 
lomcskw
Ale właśnie o to chodzi, że jeśli tak zrobię - dostaję nieprawidłową kolejność (tak jak napisałem - najpierw litery Ż, potem A itd...).
Myślę, że to ma związek z kodowaniem znaków w bazie i tabeli, wszędzie jest UTF8 i metoda porównywania utf8_unicode_ci.
Gdzieś chyba widziałem dodatkowe polecenia sql-a wprowadzane do plików, tuż po nawiązaniu połączenia z bazą, ale mam obawy, czy to nie namiesza w istniejących danych (artykuły, newsy itp...).
Pozdrawiam - Andrzej
 
piotrek199214
Daj tak: ORDER BY nazwiska ASC
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny pomogl[1]_1.png
Tanie tworzenie wtyczek, masz problem napisz.
 
www.piocom.eu
lomcskw
W zapytaniu mam tak:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

a wolałbym mieć tak:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

bo wtedy nawet po zmiw z poszczególnych klas będzie posortowana alfabetycznie, a nie nazwiska (poprawki błędów) lista absolwentów.
Edytowane przez hoopak dnia 27.05.2009 17:43:13
 
piotrek199214
Mi chodziło tylko o to abyś dał ASC i tyle. A szkic taki jak kefirek.
Pozdro
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny pomogl[1]_1.png
Tanie tworzenie wtyczek, masz problem napisz.
 
www.piocom.eu
lomcskw
Może jeszcze raz. Nie chodzi mi o to jak zbudować zapytanie w sql-u. To umiem zrobić Smile Chciałem powiedzieć, że nie chce prawidłowo działać sortowanie listy absolwentów w przypadku gdy wyświetlani są absolwenci z jednego roku. W tabeli absolwenci są pola id, nazwisko, imię, rok i klasa (to ostatnie przechowuje literki a, b, c...). Zapytanie wybiera jeden rocznik i sortuje wynik wg klasy, nazwiska i imienia. Niestety efekt sortowania po nazwisku jest niepoprawny (litera Ż na początku, a potem A itd...). Dlatego na razie mam sortowanie wg id (nr kolejny absolwenta w tabeli). Wszystko byłoby ok, gdyby nie fakt, że czasem trzeba poprawić pisownię nazwiska (zwłaszcza dla starszych roczników, gdzie zdarzają się błędy). Wtedy kolejność wg id nie jest już poprawna (np. zmiana z Kadelski na Kudelski). Sortowanie wg nazwiska dawałoby zawsze alfabetycznie posortowaną listę, nawet po poprawkach.
Ponawiam zatem pytanie - dlaczego to nie działa?
Pozdrawiam - Andrzej
Edytowane przez Chemikpil dnia 28.05.2009 23:04:34
 
piotrek199214
Pobierz kod źródłowy  Rozwiń Kod źródłowy
- sprawdź tak.
Bo rozumiem że chciałbyś tak:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

lecz coś Ci nie działa.
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny pomogl[1]_1.png
Tanie tworzenie wtyczek, masz problem napisz.
 
www.piocom.eu
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl