Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
[Script] Paginatie conditionata in CodeIgniter
Last Updated: Jun 03 2015 23:25, Started by
republicall
, Jun 02 2015 23:38
·
0
#1
Posted 02 June 2015 - 23:38
Paginatia conditionata in CodeIgniter se poate face in doua moduri: folosind variabile de sesiune sau construind un url complicat. Eu va prezint a treia metoda folosind persistenta form-ului.
Pe langa paginatia obisnuita se adauga urmatorii pasi: In controller: - se asigura persistenta input-ului $this->form_validation->set_rules('input_name', 'Nume produs: ', 'trim|xss_clean'); - se citeste numarul paginii dintr-un input hidden setat in prealabil pe partea de javascript $hidden_page_number = ($this->input->post('hidden_page_number')!==FALSE ? $this->input->post('hidden_page_number') : 1); - se citesc produsele din baza de date pe baza unui calcul numeric; nu se mai foloseste $this->uri->segment(3) pentru calcularea offset-ului $result = $this->product_database->read_product_all($data, $config['per_page'], (($hidden_page_number-1)*$config['per_page'])); - pe partea de view nu exista schimbari; link-urile se genereaza folosind pagination library - pe partea de javascript: - oprim functionalitatea link-ului de la pagini deoarece vrem sa retrimitem formularul; link-ul ar strica deoarece redirectioneaza la un url fara a trimite si input-urile. e.preventDefault(); -setam in input-ul hidden valoarea paginii care a fost apasata; $(this) este acel <a href... $('#hidden_page_number').val( $(this).text().toLowerCase()); -modificam url-ul pentru atributul form action pentru ca pagina sa se modifice ulterior var xxx = $('#hidden_page_number').val(); $('#search_result_form').attr("action", "http://localhost/.../" + ((xxx-1)*3)); - si important trimitem formularul simuland apasarea butonului submit si nu cu form.submit(); $("#submit_button").trigger("click"); In acest fel se ocolesc doua probleme: incarcarea url-ului si complicarea codului pe partea de pagination library si evitarea utilizarii variabilelor de sesiune cu algoritmul aferent. Probabil am intrat in altele dar poate ca unii vor prefera varianta asta. Edited by republicall, 02 June 2015 - 23:57. |
#2
Posted 03 June 2015 - 07:09
Se pare ca de fapt nici nu trebuiesc atatea modificari, ieri fiind tarziu n-am observat ca aveam link-ul paginii la indemana. Ajunge doar un simplu js:
$(document).on("click", "#pagination>a", function(e){ e.preventDefault(); $('#search_result_form').attr("action", $(this).attr("href")); $("#submit_button").trigger("click"); }); Deci pe partea de controller si view nu exista nimic in plus fata de varianta simpla de pagination. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users