Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql]Sortowanie wyników wg. pól zapisanych jako serialize
piotr94
post
Post #1





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam!
Mam wielojęzyczny system, w którym w polu nazwa w bazie danych przechowywane są nazwy we wszystkich językach jako zserializowane tablice asocyjacyjne.
(czyli pole zawiera np. wynik działania funkcji serialize(array('pl'=>'Nazwa polska',en=>'English name')), czyli a:2:{s:2:"pl";s:12:"Nazwa polska";s:2:"en";s:12:"English name";})
I teraz mam takie pytanie, czy istnieje jakaś szybka metoda na sortowanie wyników zapytania według pola nazwa w określonym języku?
Chodzi mi tu o sortowanie danych bez żadnych zmian struktury bazy danych, bo wiem, ze najlepszym rozwiązaniem byłoby utworzenie dodatkowych tablic z nazwami i odwoływanie się do odpowiednich tablic poprzez numery id rekordów w tablicy głównej, ale takie działanie wymaga zmiany struktury dosyć sporej bazy danych.
Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Możliwe? - Raczej tak
Możliwe w prosty sposób? - Na pewno nie

Tutaj masz temat jak koleś posortował wyniki po wartości znajdującej się w zmiennej w formacie json, więc analogicznie mógłbyś to zrobić u siebie, sposób bardzo ciekawy, aczkolwiek radziłbym Ci przerobić strukturę danych, bo jak w jednej zmiennej trzymasz wiele zmiennych to znaczy, że jest źle zaprojektowana baza -> http://www.phpbuilder.com/board/showthread.php?t=10363945
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 17:36