modificare date afisate in functie de criteriu selectat

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

bogdA
PHPRomania Supporter
Mesaje: 6
Membru din: Mar Apr 24, 2012 11:37 pm

modificare date afisate in functie de criteriu selectat

Mesajde bogdA » Lun Iun 04, 2012 12:06 am

Salut,

Am nevoie sa realizez urmatoarele:

- utilizatorul are pe pagina1.php o lista de selectie cu: cod1, cod2, cod3;
- cod1, cod2, cod3 sunt stocate in BD;
- selecteaza unul din coduri din lista (ex cod2);
- valoarea selectata este utilizata in interogari de pe pagina prin care aduc alte informatii asociate cu valoarea selectata (cod2);
- selectia este memorata, astfel incat daca trece pe o alta pagina (pagina2.php) care are aceeasi lista de selectii, implicit va fi afisat codul selectat anterior (cod2), interogarile de pe pagina2.php vor tine cont de valoarea selectata anterior;
- utilizatorul poate schimba valoarea selectata pe oricare din pagini, iar ultima valoare selectata va fi considerata ca referinta.

in principiu ma gandesc ca selectia ar trebui sa declanseze o functie care sa aloce valoarea stocata intr-o variabila utilizata in interogari si sa fie stocata in cookie si transmisa pe pagina urmatoare (post get).

dar din pacate nu am reusit sa-i dau de cap.
daca ma poate ajuta cineva, astept mesajele voastre

multumesc



Pirahna
Senior Member
Mesaje: 5985
Membru din: Dum Aug 22, 2004 2:04 am
Localitate: la birou
Contact:

Mesajde Pirahna » Lun Iun 04, 2012 5:52 am

O trimiti mai departe folosind POST.
Presupunand ca ai un select acolo:

Cod: Selectaţi tot

<select name="cod">
<option value="1">Cod 1</option>
<option value="2">Cod 2</option>
<option value="3">Cod 3</option>
</select>

Trimiti cu POST si apoi verifici:

Cod: Selectaţi tot

<select name="cod">
<option value="1"<?php if(isset($_POST['cod']) && $_POST['cod'] == 1) echo " selected=\"selected\""; ?>>Cod 1</option>
<option value="2"<?php if(isset($_POST['cod']) && $_POST['cod'] == 2) echo " selected=\"selected\""; ?>>Cod 2</option>
<option value="3"<?php if(isset($_POST['cod']) && $_POST['cod'] == 3) echo " selected=\"selected\""; ?>>Cod 3</option>
</select>





Sau stochezi intr-un input type="hidden" separat valoarea, ca sa nu verifici mereu. Nu e nevoie de cookies/sesiuni pentru ce ai descris.

bogdA
PHPRomania Supporter
Mesaje: 6
Membru din: Mar Apr 24, 2012 11:37 pm

Mesajde bogdA » Joi Iun 07, 2012 9:17 pm

salut,
multumesc pentru raspuns

problema apare in momentul in care utilizatorul acceseaza o pagina care nu are select si apoi revine pe una din paginile cu select.

am luat in calcul var initiala cu session sau o alta var cu inregistrarea selectiei intr-un camp dintr-o tabela BD.

am ramas la prima varianta (session) cu ajax
dupa ce selectez un cod, reincarca pagina, imi stocheaza corect codul selectat, dar am o mica problema:

IE9/Chrome 19: uneori pe pagina nu este afisata noul cod, ci ramane cel vechi, daca mai dau reload este afisat corect.

Firefox 11.0 nu functioneaza


ma poti ajuta cu o solutie/idee?

Daniel1975
PHPRomania Supporter
Mesaje: 14
Membru din: Joi Ian 26, 2012 8:03 pm

Mesajde Daniel1975 » Lun Iun 25, 2012 11:37 am

Trimite datele cu GET si memoreaza selectia in $_SESSION.


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori