Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Paginacja, sortowanie, wzorzec
tabbi
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 30.10.2010

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


Witam,

prosiłbym o wypowiedź osób, które mają dość duże doświadczenie w programowanie aplikacji webowych. Otóż mam paginację wraz z sortowaniem, wartości dotyczące sortowania wypełnia się poprzez formularz na stronie (GET). Wszystkie te flagi muszę później załadować do metody, która pobiera listę elementów i mam to tak zakodowane:

  1. // Sorting rules
  2. if(isset($this->get['sort_date']) && $this->get['sort_date'] == "asc") $options['order_by_date_asc'] = TRUE;
  3. else if(isset($this->get['sort_date']) && $this->get['sort_date'] == "desc") $options['order_by_date_desc'] = TRUE;
  4. else if(isset($this->get['sort_title']) && $this->get['sort_title'] == "desc") $options['order_by_title_desc'] = TRUE;
  5. else if(isset($this->get['sort_title']) && $this->get['sort_title'] == "asc") $options['order_by_title_asc'] = TRUE;


Dodatkowo mam jeszcze kilka innych elementów srotujących więc trochę if-ów się tworzy pytanie czy to jedyny bezpieczne optymalne rozwiązanie (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tabbi
post
Post #2





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 30.10.2010

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


Budowanie zapytań odpada bo używam Active Record w Codeigniterze.

  1. if(isset($this->get['sort_date']) && in_array($this->get['sort_date'], $this->sorting_template['sort_date'])) $options['sort_date'] = $this->get['sort_date'];
  2. if(isset($this->get['sort_title']) && in_array($this->get['sort_title'], $this->sorting_template['sort_date'])) $options['sort_title'] = $this->get['sort_title'];
  3. $options['positions'] = array_filter(elements(array_keys($this->get), $this->sorting_template['positions'] ));
  4. $options['options'] = array_filter(elements(array_keys($this->get), $this->sorting_template['options'] ));
  5. $options['employments'] = array_filter(elements(array_keys($this->get), $this->sorting_template['employments'] ));
  6. $options['works'] = array_filter(elements(array_keys($this->get), $this->sorting_template['works'] ));


Zamknąłem się w takim zapytaniu.
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: 3.10.2025 - 03:11