Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Lista select, powtórzone elementy
krzyszbi
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


witam
robię dodawanie danych do bazy i przy walidacji formularza mam sie na pewien problem a mianowicie w tym kodzie jak pierwszy raz się wejdzie na stronke to każda opcja w selekcie wyświetla sie tylko raz i tak powinno byc ale jak juz wybiore jakąś opcje ( strona się przeładuje i formularz zostanie wysłany(do tej właśnie strony) ) to zaznaczona opcja pojawie się dwa razy
co tu jes źle
  1. <?php
  2.  
  3. echo '<select name="stan" onchange="document.dodaj_transakcje.submit();">';
  4. echo'<option value="0">Wybierz stan .';
  5. $query_s = "SELECT * FROM stan";
  6. $result_s = mysql_query ($query_s);
  7. while ($row_s = mysql_fetch_array($result_s))
  8. {
  9.  if (isset($_POST['stan']) AND !empty($_POST['stan']))
  10. {
  11. if (($_SESSION['stan']==$row_s['id_s']) OR ($_POST['stan']==$row_s['id_s']))
  12. echo'<option value="'.$row_s['id_s'].'" selected="selected">'.$row_s['symbol_stan'].'</option>';
  13. }
  14.  elseif (isset($_SESSION['stan']) AND !empty($_SESSION['stan']))
  15. {
  16. if (($_SESSION['stan']==$row_s['id_s']) OR ($_POST['stan']==$row_s['id_s']))
  17. echo'<option value="'.$row_s['id_s'].'" selected="selected">'.$row_s['symbol_stan'].'</option>';
  18. }
  19. elseif ($row_umowa['id_s']==$row_s['id_s'])
  20. {
  21. echo'<option value="'.$row_s['id_s'].'" selected="selected">'.$row_s['symbol_stan'].'</option>';
  22. }
  23. echo'<option value="'.$row_s['id_s'].'">'.$row_s['symbol_stan'].'</option>';
  24. }
  25. echo'</select><br />';
  26.  
  27. ?>


jak po ostatnim elseif dam else to pojawie sie tylko jedna opcja
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
jak po ostatnim elseif dam else to pojawie sie tylko jedna opcja
No i daj wlasnie else po ostatnim elseif (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Przeciez teraz ty zawsze wyswietlasz opcję, a dodatkowo jesli opcja byla wybrana, to jeszcze ją wyswietlasz raz z parametrem selected

pozatym wogole sposob jaki to robisz, jest zly
powinno byc tylko jedno option i wzaleznosci od warunkow to dadajesz mu selected:
  1. <?php
  2.  
  3. echo '<option value="blabla" '.($jakieswarunkispelnione ? 'selected="selected"' : '').'>blabla</option>';
  4.  
  5. ?>
Dostosuj se to do twoich warunkow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 05:25