cochler Opublikowano 25 Lutego 2009 Zgłoś Opublikowano 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 Więcej opcji udostępniania...
PelzaK Opublikowano 25 Lutego 2009 Zgłoś Opublikowano 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 Więcej opcji udostępniania...
cochler Opublikowano 25 Lutego 2009 Zgłoś Opublikowano 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 Więcej opcji udostępniania...
m4r Opublikowano 25 Lutego 2009 Zgłoś Opublikowano 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 Więcej opcji udostępniania...
Adriano321 Opublikowano 26 Lutego 2009 Zgłoś Opublikowano 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 Więcej opcji udostępniania...
cochler Opublikowano 26 Lutego 2009 Zgłoś Opublikowano 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 Więcej opcji udostępniania...
PelzaK Opublikowano 28 Lutego 2009 Zgłoś Opublikowano 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 Więcej opcji udostępniania...