Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zachowywanie elementu listy
Forum PHP.pl > Forum > Przedszkole
invx
prubowalem, zrobic, zeby po przeslaniu formularza pole listy rozwijanej, bylo na tej pozycji na ktura kliknol user, namenczylem sie i dalej nie dziala, zawsze wybiera teraz kolor bialy, oto co udalo mi sie osiagnac:
  1. <?php
  2.  
  3. if( $_POST[kolor] == czarny )
  4. {
  5. $sel=&#092;"selected\";
  6. }
  7. if( $_POST[kolor] == zielony )
  8. {
  9. $sel=&#092;"selected\";
  10. }
  11. if( $_POST[kolor] == szary )
  12. {
  13. $sel=&#092;"selected\";
  14. }
  15. if( $_POST[kolor] == czerwony )
  16. {
  17. $sel=&#092;"selected\";
  18. }
  19. if( $_POST[kolor] == zolty )
  20. {
  21. $sel=&#092;"selected\";
  22. }
  23. if( $_POST[kolor] == niebieski )
  24. {
  25. $sel=&#092;"selected\";
  26. }
  27. if( $_POST[kolor] == fioletowy )
  28. {
  29. $sel=&#092;"selected\";
  30. }
  31. if( $_POST[kolor] == bialy )
  32. {
  33. $sel=&#092;"selected\";
  34. }
  35.  
  36. echo&#092;"
  37. <tr class=$clas>
  38. <td align='right'><b>Ulubiony kolor:</b>
  39. </td>
  40. <td class='formularz'>
  41. <select size='1' name='kolor'>
  42. <option $sel value='wybierz'>-Wybierz-</option>
  43. <option $sel value='czarny'>Czarny</option>
  44. <option $sel value='zielony'>Zielony</option>
  45. <option $sel value='szary'>Szary</option>
  46. <option $sel value='czerwony'>Czerwony</option>
  47. <option $sel value='zolty'>Żółty</option>
  48. <option $sel value='niebieski'>Niebieski</option>
  49. <option $sel value='fioletowy'>Fioletowy</option>
  50. <option $sel value='bialy'>Biały</option>
  51. </select>
  52. <br>
  53. </td>
  54. </tr>
  55. &#092;";
  56. ?>
sf
nic dziwnego, ze Ci to nie dziala bo przeciez w kazdym miejscu jest $sel czyli "selected", nazwij kazdy inaczej... $sel_1 $sel_2 itd.
mike
A po co tyle tych if'ów questionmark.gif
Spróbuj czegoś takiego:
  1. <?php
  2.  
  3. $arrTab = array( 'czarny' => '', 'zielony' => '', 'szary' => '', 'czerwony' => '', 'żółty' => '', 'niebieski' => '', 'fioletowy' => '', 'biały' => '' );
  4.  
  5. $arrTab[ $_POST[kolor] ] = 'selected';
  6.  
  7. echo&#092;"
  8. <tr class=$clas>
  9. <td align='right'><b>Ulubiony kolor:</b>
  10. </td>
  11. <td class='formularz'>
  12. <select size='1' name='kolor'>
  13. <option value='wybierz'>-Wybierz-</option>
  14. <option $arrTab[ 'czarny' ] value='czarny'>Czarny</option>
  15. <option $arrTab[ 'zielony' ] value='zielony'>Zielony</option>
  16. <option $arrTab[ 'szary' ] value='szary'>Szary</option>
  17. <option $arrTab[ 'czerwony' ] value='czerwony'>Czerwony</option>
  18. <option $arrTab[ 'żólty' ] value='zolty'>Żółty</option>
  19. <option $arrTab[ 'niebieski' ] value='niebieski'>Niebieski</option>
  20. <option $arrTab[ 'fioletowy' ] value='fioletowy'>Fioletowy</option>
  21. <option $arrTab[ 'biały' ] value='bialy'>Biały</option>
  22. </select>
  23. <br>
  24. </td>
  25. </tr>
  26. &#092;";
  27.  
  28. ?>

Można by to jeszcze bardziej skrócić puszczając w jakąś pętlę, ale chciałem pokazać metodę. Skrócić możesz sam.
P.S. Pisane z głowy, nie testowałem, ale powinno działać ew. po niewielkich poprawkach.
BzikOS
Ja to robię tak:

  1. <?php
  2. $selectArr = Array( 'wybierz' => '-Wybierz-',
  3. 'czarny' => 'Czarny',
  4. 'zielony' => 'Zielony',
  5. 'szary' => 'Szary',
  6. 'czerwony' => 'Czerwony',
  7. 'zolty' => 'Żółty',
  8. 'niebieski' => 'Niebieski',
  9. 'fioletowy' => 'Fioletowy',
  10. 'bialy' => 'Biały' );
  11.  
  12. $selectStr = '';
  13. foreach( $selectArr as $aKey => $aVal )
  14. {
  15. $selectstr .= ( $aKey == $_POST['kolor'] ) ?
  16. &#092;"<option value=\"$aKey\\" selected>$aVal</option>\" :
  17. &#092;"<option value=\"$aKey\\">$aVal</option>\";
  18. }
  19.  
  20. print(&#092;"<tr class=$clas>
  21. <td align='right'><b>Ulubiony kolor:</b></td>
  22. <td class='formularz'>
  23. <select size='1' name='kolor'>
  24. $selectStr;
  25. </select>
  26. <br>
  27. </td>
  28. </tr>&#092;" );
  29. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.