Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: alfabetyczne sortowaine
Forum PHP.pl > Forum > Bazy danych > MySQL
vi-valdi
Proszę o pomoc w sfomułowaniu zapytania sql.

Pobieram z bazy rekordy, w których pole "nazwisko" rozpoczyna się na odpowiednią literę $letter = "..." :

  1. $sql = "SELECT id, email, nazwisko
  2. FROM tabela WHERE nazwisko LIKE '". $_GET[letter] ."%' ORDER BY nazwisko";


i tu pojawia się pierwszy kłopot, w polach w których druga litera jest polskim znakiem (ą, ć, ę, ł itd) sortowane są na końcu a nie zgodnie z alfabetem.

Problem główny:
jak napisać zapytanie aby z bazy pobierane były rekordy, w ktorych pole "nazwisko" rozpoczyna się np. na: L i Ł, lub C i Ć lub Z i Ż i Ź
Wave
Łatwiej pobrać całą tabelę i posortować w php...
sobstel
spróbuj tak :

  1. SELECT id, email, nazwisko
  2. FROM tabela WHERE nazwisko LIKE '". $_GET[letter] ."%'
  3. ORDER BY CONVERT(nazwisko USING latin2);


dziala od mysql 4.1
SongoQ
Lub ustawic odpowiednie kodowanie.

@Wave a jak masz tabele o wielkosci 100GB to co wtedy tez bedziesz uzywal php? Pomysl jest malo wydajny.
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.