Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jak zrobic zeby wybrany radio button, pozostal zaznaczony po reloadzie strony?
SoulRipper
post 22.12.2004, 18:14:23
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

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


temat wszystko tlumaczy.

skrypt pobiera z mysql dane i kazdy rekord przypisuje do osobnego "radio button"

dalej chce zrobic tak ze jak znaznacze jakis radio to zostanie zapisana zmienna sesyjna ktora przetrwa reload strony i z powrotem zaznaczy poprzednio wybrany element.Problem w tym ze mi to nie dziala. Wartosc do zmiennej jest przypisana poprawnie jednak nie wiem jak to zrobic zeby konkretny radio byl zaznaczony.
blink.gif

kodzik:
  1. <?php
  2. while ($show_submenu = mysql_fetch_array($count_submenu)) //powiedzmy ze mysql_fetch_array($count_submenu) wyniesie 5
  3.     {
  4.         if (!isset($_SESSION['referer']))
  5.         {    
  6.             echo &#092;"<input type='radio' name='id' value='$show_submenu[0]' >$show_submenu[1]&nbsp;&nbsp;&nbsp;\";
  7.         }
  8.         else
  9.         {
  10.             echo &#092;"<input type='radio' name='id' value=\".$_SESSION['referer'].\" checked>$show_submenu[1]&nbsp;&nbsp;&nbsp;\";
  11.         }
  12.     }
  13.  echo $_SESSION['referer'] = $_POST['id'];
  14. ?>


Ten post edytował SoulRipper 22.12.2004, 18:15:15
Go to the top of the page
+Quote Post
SzajbuS
post 22.12.2004, 21:33:40
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.07.2004
Skąd: Bydgoszcz / Poznań

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


  1. <INPUT TYPE="radio" NAME="name" VALUE="value" CHECKED>
Go to the top of the page
+Quote Post
SoulRipper
post 22.12.2004, 22:04:48
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

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


LOL

to to i ja wiem, ale teraz powiedz mi jak cos takiego zastosowac kiedy iles tam radio buttonow jest automatycznie tworzona za pomaca petli?
Go to the top of the page
+Quote Post
SzajbuS
post 22.12.2004, 22:29:47
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.07.2004
Skąd: Bydgoszcz / Poznań

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


rzeczywiscie, nie zauwazylem tego 'checked' w Twoim kodzie smile.gif

a co do problemu, to wydaje mi sie ze pies jest pogrzebany w zapisie warunku if, ktorego wynik nie zmienia sie w zadnym przebiegu petli. w efekcie w zrodle html strony masz pewnie wszystkie radio'sy z atrybutem checked (lub zaden).
Go to the top of the page
+Quote Post
crash
post 22.12.2004, 22:30:37
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


U mnie dziala cos takiego:

  1. <?php
  2. while($show_submenu = mysql_fetch_array($count_submenu))
  3. {
  4. echo '<input type=\"radio\" '.(isset($_SESSION['referer']) ? 'checked=\"checked\"' : '').' name=\"id[]\" value=\"'.$show_submenu[0].'\">'.$show_submenu[1].'&nbsp;&nbsp;&nbsp;';
  5. }
  6. ?>


Zamiast nazwy id dalem id[], wiadomo chyba po co...


--------------------
Go to the top of the page
+Quote Post
SoulRipper
post 23.12.2004, 00:37:27
Post #6





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

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


cos nie dziala smile.gif Kiedy zaznacze opcje i dam OK to zaznacza sie automatycznie ostatni radio.

przyznam sie ze niebardzo sie orientujew Twoim zapisie. Uzykles titaj skrotow ktorych jeszcze nie sudiowalem ale wydaje mi sie ze to ? to ejst instrukcja if(moze sie myle), oraz czym sie rozni id od id[] (tablica, ale po co?)
Go to the top of the page
+Quote Post
crash
post 23.12.2004, 11:16:12
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Operator trojznakowy:
  1. <?php
  2. (jesli_spelniony_warunek ? zrob_to : w_przeciwnym_wypadku_to)
  3. ?>

Nazwe pola ustawilem jako tablice bo.. hmm.. bo sie chyba rozpedzilem snitch.gif

To moze tak:
  1. <?php
  2. while($show_submenu = mysql_fetch_array($count_submenu))
  3. {
  4. echo '<input type=\"radio\" '.(($_POST[id] == $show_submenu[0]) ? 'checked=\"checked\"' : '').' name=\"id\" value=\"'.$show_submenu[0].'\">'.$show_submenu[1].'&nbsp;&nbsp;&nbsp;';
  5. }
  6. ?>


--------------------
Go to the top of the page
+Quote Post
SoulRipper
post 23.12.2004, 11:40:55
Post #8





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

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


oo bardzo ladnie dziala, dzieki smile.gif

niestety sad.gif pojawil sie jeszcze jeden, troche powzniejszy problem,
podam odrazu caly kod bo barkuje mi czasu na szczegolowy opis:
  1. <?php
  2.  
  3. include &#092;"../../code.php\";
  4. include &#092;"../../conf.php\";
  5. con();
  6. $count_submenu = mysql_query(&#092;"SELECT * FROM link WHERE submenu='1'\");
  7. $count_submenu_result = mysql_num_rows($count_submenu);
  8.  
  9. $submenu_items = mysql_query(&#092;"SELECT * FROM submenu\");
  10. $submenu_items_count = mysql_num_rows($submenu_items);
  11.  
  12. if ($count_submenu == 0)
  13. {  
  14. echo &#092;"Brak linków odwoływujących się do submenu\";
  15. }
  16. else
  17. {
  18.  
  19. while($show_submenu = mysql_fetch_array($count_submenu))
  20. {
  21. echo '<input type=\"radio\" '.(($_POST[id] == $show_submenu[0]) ? 'checked=\"checked\"' : '').' name=\"id\" value=\"'.$show_submenu[0].'\">'.$show_submenu[1].'&nbsp;&nbsp;&nbsp;';
  22. }
  23.  
  24. }
  25. echo &#092;"<BR><BR><BR>\";
  26. if ($_POST['dalej'] == &#092;"OK\")
  27. {
  28. $ilosc = 0;
  29.  
  30. while ($ilosc < $_POST['ilosc'])
  31. {
  32. $ilosc++;
  33. $art_id = $count_submenu_result+$submenu_items_count+$ilosc+1;
  34.  
  35. echo &#092;" Nazwa <input type='text' name='nazwa_$ilosc'>
  36. ID arta:<input type='text' name='art_id_$ilosc' value=$art_id>
  37. Kolejnosc:<input type='text' name='kolejnosc_$ilosc' value='$ilosc' width=4><BR>&#092;";
  38.  
  39. echo $_SESSION['nazwa_'.$ilosc] = $_POST['nazwa_'.$ilosc];
  40. echo $_SESSION['art_id_'.$ilosc] = $_POST['art_id_'.$ilosc];
  41. echo $_SESSION['kolejnosc_'.$ilosc] = $_POST['kolejnosc_'.$ilosc];
  42.  
  43. }
  44. $_SESSION['ilosc'] = $_POST['ilosc'];
  45. }
  46.  
  47. echo &#092;"<BR><BR><BR><Br>
  48. <input type='text' name='ilosc'><BR>
  49. <input type='submit' name='dalej' value='OK'>&#092;" ;
  50.  
  51. echo &#092;"<input type='submit' name='accept' value='Dodaj'><BR>\";
  52.  
  53. if ($_POST['accept'] == &#092;"Dodaj\")
  54. {
  55. $ile = 0;
  56. while ($ile < $_SESSION['ilosc'])
  57. {
  58. $ile++;
  59. $nazwa = $_SESSION['nazwa_'.$ile];
  60.  $id = $_SESSION['art_id_'.$ile];
  61. $kolejnosc = $_SESSION['kolejnosc_'.$ile];
  62. $ref = $_SESSION['referer'];
  63. echo $query = &#092;"<BR>INSERT INTO submenu (nazwa,art_id,referer,kolejnosc) VALUES ('$nazwa','$id','$ref','$kolejnosc')<br>\";
  64.  
  65. }
  66. }
  67.  
  68.  
  69. ?>


skrypt ma wysiwtlic okreslona liczbe textboxow oraz do kazdego z nich przypisac zmienna sesyjna.
dobra

wpisuje np. 5 klikam ok i opkazuje sie 5 wierszy, 3textboxy w kazdym, dalej klikam Dalej i dupa. jest niepoprawne zapytanie sql tzn sesyjne sie nie ustawily.
wpisuje jeszcze raz 5 w tamtym okienku i dop. teraz sesyjne sie ustawiaja i zapytanie sql jest poprawne.

jak by komus sie chcialo to testowac to powiem ze te bazy danych do ktorych sie odwoluje na poczatku sa w sumie zbedne przy dzialaniu skryptu, maja one na celu tylko zliczaie poszczegolnytch tabel, wiec mozna je wykomentowac.
Wiem ze aby najpierw skorzystac z sesji to trzeba najpierw refresha strony zrobic, no iwdc robie poprzez header ale nic sie ciekawego nie dzieje
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.07.2025 - 18:00