Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pole select - domyślna wartość
Forum PHP.pl > Forum > PHP
bleeder
Witam mam problem z domyślną wartością dla pola select! Jak wypełniam formularz i wybieram wartość pola select która jest pobierana z bazy i wysyłam formularz a posida on bledy i skrypt jest odświerzony to wartość pola select zmienia się na pierwszy rekord :-( w innych polach input które mam porbione wartośći defaults które są wpisywane ale nie wiem jak zrobić to w select - problem też jest w tym że tam jest ukryte pole input które pokazywane jest wtedy gdy w bazie i na liście nie mam denego rekordu i ktoś może wpisać i dodać do bazy by ponownie wybrać wartość! Chciałbym żeby pole select pamientało wartość wybraną przez usera oraz gdy user wpisze nową wartość do bazy to automatem wybrana by była jako domyślna! Nie wiem kompletnie jak to zrobić - próbowałem szukać na forum pod hasłem "option selected" ale te skrypty są przeróżne i nie wiem dokładnie jak to ruszyć i zmodyfikować by działało u mnie. Będe bardzo wdzięczny za pomoc!!!

Kod

         <form method=post action='<?php echo $_SERVER['SCRIPT_NAME'] ?>'>
            <table>
            <tr>
            <td>Imie:<font color=red > * </font></td>
            <td valign=top><input type=text name=imie_k value='<?php echo $defaults['imie_k'] ?>'
                              size=30 maxlength=20</td></tr>
          
               <td>Miejscowowość:<font color=red > * </font></td>
               <td>
               <select name='id_m' onchange="
             if(this.value==-1) {
                  document.getElementById('ukrytyinput2').style.display= 'block'
                  document.getElementById('ukrytysubmit2').style.display= 'block'
             } else {
                  document.getElementById('ukrytyinput2').style.display= 'none'
                  document.getElementById('ukrytysubmit2').style.display= 'none'
             } ">
               <?php
                   $tablica_miast=pobierz_miasta();
                   foreach ($tablica_miast as $tomiasto)
                   {
                        echo '<option value="';
                        echo $tomiasto['id_m'];
                        echo '"';
                        echo '>';
                        echo $tomiasto['nazwa_m'];
                        echo "</option>\n";
                   }
                   ?>
                   <option value="-1"> >> dodaj nowe miasto << </option >
                  
                   </select>
                   <?php print_error('miasto', $errors) ?>
                   <tr>
             <td></td>            
             <td id="ukrytyinput2" style="display: none;"><input name="miasto" type=text/><font color=green > - wpisz nazwę nowej miejscowości i kliknij przycisk dodaj</font></td>
             <td id="ukrytysubmit2" style="display: none;">
              <input class='button' type=submit value="Dodaj"></td>
              //tu jest imput i buton który pokazywany jest jeśli wciśniemy w select >> dodaj nowe miasto <<
             </tr>
             </select></dd>
            <td colspan=2 align=center>
              <input class='button' type=submit value="OK"></td></tr>
          </table>
         </h2>
          </form>
vokiel
Zapisujesz do zmiennej wybraną przez usr opcje i w momencie wyświetlania miast dodajesz SELECTED dla wybranego option:
  1. <?php
  2. // zapisanie wybranej opcji
  3. $wybrane_miasto = $_POST['id_m'];
  4. foreach ($tablica_miast as $tomiasto){
  5. echo '<option value="'.$tomiasto['id_m'].'"';
  6. // wypisanie SELECTED dla tego który był wybrany wcześniej
  7. echo ($tomiasto['id_m']==$wybrane_miasto)'SELECTED': '';
  8. echo '>'.$tomiasto['nazwa_m'].'</option>'."\n"; 
  9. }
  10. ?>
bleeder
jest oki i działa!
Wielkie DZIĘKI :-)
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.