cochler Napisano 25 Lutego 2009 Zgłoś Napisano 25 Lutego 2009 Witam, Mam formularz który sie odświeża po kliknięciu oblicz, by wypisać wynik obliczeń. We wszystkich polach mam ustawione aby zapamiętywał wpisaną wartość, chciał bym zrobić tak też w formularzy select (rozwijana lista), żeby po odświeżeniu strony lista pokazywała wcześniej wybraną wartość. Nie mam pojęcia jak to zrobić. Mógł by ktoś pomóc? Formularz select: [php]<select name="op" > <option value="wy" selected="selected">Wybierz ...</option> <option value="p" >opcja 1</option> <option value="ks" >opcja 2</option> <option value="bz" >opcja 3</option> <option value="kk" >opcja 4</option> <option value="wko" >opcja 5</option> <option value="pn" >opcja 6</option></select>[/php] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
PelzaK Napisano 25 Lutego 2009 Zgłoś Napisano 25 Lutego 2009 sprawdzasz phpem jaką wartość ma dany select i przy odpowiednim optionsie ustawiasz selected. Gdzie leży problem? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
cochler Napisano 25 Lutego 2009 Zgłoś Napisano 25 Lutego 2009 (edytowane) Nie potrafię tego zrobić. Słabo znam sie na php, a dokładnie przedwczoraj zacząłem poznawać. Narzazie korzystałem z gotowych kodów i przerabiałem je pod moje potrzeby. Mógł byś mi to bardziej szczegółowo wytłumaczyć? Edytowane 25 Lutego 2009 przez cochler Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
m4r Napisano 25 Lutego 2009 Zgłoś Napisano 25 Lutego 2009 (edytowane) Powiedzmy, że formularz wysyła wartości postem. W związku z tym- sprawdzasz sobie cóż takiego się przesłało z formularza, a potem odpowiednio ustawiasz generowanie kodu: <select name="op" > <option value="wy" <?echo $_POST['op']== 'wy' ? 'selected="selected"': ''?>>Wybierz ...</option> <option value="p" <?echo $_POST['op']== 'p' ? 'selected="selected"': ''?>>opcja 1</option> <option value="ks" <?echo $_POST['op']== 'ks' ? 'selected="selected"': ''?>>opcja 2</option> <option value="bz" <?echo $_POST['op']== 'bz' ? 'selected="selected"': ''?>>opcja 3</option> <option value="kk" <?echo $_POST['op']== 'kk' ? 'selected="selected"': ''?>>opcja 4</option> <option value="wko" <?echo $_POST['op']== 'wko' ? 'selected="selected"': ''?>>opcja 5</option> <option value="pn" <?echo $_POST['op']== 'pn' ? 'selected="selected"': ''?>>opcja 6</option></select> Co jednak jest "nieco" nieładne napisane z mojego punktu widzenia- wprowadza masakryczny chaos i ludziom tak piszącym formularze ręce bym przy samej d... poucinał (pozdrawiam paru pr0 webmajstrów, po których poprawiam właśnie jedną taką stronę). Ciekawostka- niektórzy nie lubią operatorów warunkowych i piszą tam, gdzie wrzuciłem "blah ? blah1 : blah2" całe if(){}else{}, co... a zresztą, domyślcie się co to robi z takim formularzykiem. Można trochę ładniej: <select name="op" ><?$selectValues = array('wy'=>'Wybierz...','p'=>'opcja 1','ks'=>'opcja 2','bz'=>'opcja 3','kk'=>'opcja 4','wko'=>'opcja 5','pn'=>'opcja 6');foreach($selectValues as $key => $value){ echo '<option value="'.$key.'"'.($_POST['op']==$key ? ' selected="selected"' : '').'>'.$value.'</option>'."";}?></select>$selectValues - nasza tablica, z której pobierasz dane do zmontowania formularza foreach - fikuśna instrukcja do radzenia sobie z tablicami asocjacyjnymi w php (tablica asocjacyjna to taki twór, który... no, nieważne, który wygląda właśnie jak $selectValues i jest wbrew nieprzyjemnej nazwie bardzo przydatny i często-gęsto używany) $key - klucz elementu tablicy $value- wartość elementu echo - wypisujemy element formularza. Można chyba w sumie jeszcze ładniej to napisać, ale myślenie mi się już wyłączyło. .:.:Edit: ortofrag:.:. Edytowane 26 Lutego 2009 przez m4r Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
Adriano321 Napisano 26 Lutego 2009 Zgłoś Napisano 26 Lutego 2009 Jeżeli jest to formularz liczący, może warto by było zrobić to w JS(odciążysz trochę serwer :P)? Jeżeli nie, to m4r napisał Ci rozwiązanie. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
cochler Napisano 26 Lutego 2009 Zgłoś Napisano 26 Lutego 2009 Dziękuj za pomoc i nauke. Adriano321, php powinno wystarczyć. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
PelzaK Napisano 28 Lutego 2009 Zgłoś Napisano 28 Lutego 2009 znam paru gości, którzy za_takie_php_walą_w_ryj_bez_ostrzeżenia :D. Sam też bym im pomógł. No ale od czegoś trzeba zacząć. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...