![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam tabele config Kod +---------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+----------+------+-----+---------+-------+ | fieldid | int(10) | NO | PRI | 0 | | | value | char(20) | NO | | NULL | | | siteid | int(10) | NO | PRI | | | +---------+----------+------+-----+---------+-------+ Oraz tabelę config_fields Kod +---------------+-----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+-----------+------+-----+---------+----------------+ | id | int(5) | NO | PRI | NULL | auto_increment | | name | char(80) | NO | UNI | NULL | | +---------------+-----------+------+-----+---------+----------------+ Teraz orzypoścmy ze mamy przykladowe dane w tabeli config_fields 1 - language 2 - theme 3 - recordsPerPage Oraz przykladowe dane w tabeli config id - value - siteid 1 - pl - 0 1 - en - 2 2 - silverTheme - 0 3 - 15 - 1 3 - 20 - 0 Siteid to nic innego jak idetyfikator strony. Teraz muszę pobrać wszystkie pola konfiguracyjne z tabeli config które mają siteid równy mojej wartości a jeśli takich nie ma to odpowiadające im pola z siteid = 0; Np dla siteid = 1 otrzymam 1 - language - pl (siteid=1) 2 - theme - silverTheme (siteid=0) 3 - recordsPerPage - 15 (siteid=1) Dla siteid = 2 otrzymam 1 - language - en (siteid=2) 2 - theme - silverTheme (siteid=0) 3 - recordsPerPage - 20 (siteid=0) Mam nadzieję, że dobrze to wytłumaczyłem ![]()
Wszsytko działa jeśli rekordy w tabeli config są ustawione w kolejnosci: najpierw z siteid!=0 a później z siteid=0 Jeśli jest odwrotnie zawsze otrzymuję wartość domyślną. Jak temu zaradziać? Da się to jakoś posortowac? EDIT: Posiedziałem posiedziałem i wymyśliłem coś takiego:
Ale czy to jest dobre rozwiązanie? Może da się optymalniej? Ten post edytował SHiP 5.05.2009, 09:46:35 -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:39 |