W kodzie, który przedstawia użytkownikowi kosz mam dla każdej pozycji SELECT'a z liczbą sztuk do kupienia. I wszystko jest ok jeżeli, np. mając dwa produkty pierwszy jest mniejszy od drugiego to w OPTION SELECTED wyświetla się prawidłowo, ale jeżeli pierwszą wartość zmienię na większą (większą od tej drugiej) to ta druga ustawi się na taką samą i trzeba znowu zmienić ją na mniejszą.
Jak zrobić, żeby taka sytuacja się nie pojawiała? Kawałek kodu odpowiadający za ustawianie SELECTED:

  1. $liczba=$_SESSION['a'.$session[$id]];
  2.  
  3. $selected[$liczba] = "selected='selected'";
  4.  
  5. echo '<select name="a'.$id.'">';
  6.  
  7. for ($i=1;$i<=$ilosc;$i++)
  8. {
  9.  
  10. echo "<option $selected[$i]>$i</option>";
  11. }
  12. echo "</select>";


OBJAŚNIENIE:
  1. $ilosc <-- ilość sztuk aktualnie dostępnych do kupienia
  2. $id <-- id konkretnego produktu wybranego przez klienta



P.S.
Dodam jeszcze, że o ile są dwa produkty w koszu to jest wszystko ok, ale jak są już 3 i więcej to nie da się wybrać żądanej wartości dla wszystkich towarów.


PROBLEM ROZWIĄZANY

Problem rozwiązał IF w pętli FOR, która musi wyglądać następująco:

  1. for ($i=1;$i<=$ilosc;$i++)
  2. {
  3. if($liczba==$i)
  4. {
  5. echo "<option selected>$i</option>";
  6. }
  7. else
  8. {
  9. echo "<option >$i</option>";
  10. }
  11. }