Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Lista wyboru z bazy, Dlaczego nie pamieta mojego wyboru?
joka2
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.07.2009

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


Tabela wyglada tak:

  1. liczba_porzadkowa | nazwa
  2. ---------------------------
  3. 1 | jeden
  4. 2 | dwa
  5. 3 | trzy
  6. 4 | cztery


Moim zadaniem jest wyświetlenie zawartosci tabeli w liście rozwijalnej, co mi się udało:

  1. <?php
  2. $dane = mysql_query("SELECT * FROM tabela");
  3. echo '<select name="liczba_porzadkowa">';
  4. while ($wiersz = mysql_fetch_assoc($dane))
  5. {
  6. echo '<option>'.$wiersz["nazwa"].'</option>';
  7. }
  8. echo '</select>';
  9. ?>


Z automatu, za pierwszym uruchomieniem strony, na liście wyboru pojawi mi się "jeden", ponieważ jest to pierwsza pozycja wybrana z bazy za pomoca SELECTa. Czyli tak, jak chcę. Po wyświetleniu listy mogę wybrać jedną z czterech pozycji, co robię. Następnie, po kliknięciu na button "Przeładuj stronę" znów mam na liście pierwszą pozycję. Dążę do tego, żeby skrypt "pamiętał" mój wybór.

  1. <?php
  2. echo '<form action="index.php" method="post">';
  3. $dane = mysql_query("SELECT * FROM tabela");
  4. echo '<select name="liczba_porzadkowa">';
  5. while ($wiersz = mysql_fetch_assoc($dane))
  6. {
  7. echo '<option>'.$wiersz["nazwa"].'</option>';
  8. }
  9. echo '</select>';
  10. echo '<input type="submit" name="przeladuj" value="Przeładuj stronę">';
  11. ?>


Domyślam się, że muszę sprawdzić, co znajduje się w "liczba_porzadkowa", co też robię, a także mogę ją przypisać do zmiennej:

  1. <?php
  2. echo $_POST['liczba_porzadkowa'];
  3. $zmienna = $_POST['liczba_porzadkowa'];
  4. ?>


Zastanawiam się, co zrobić, aby po wybraniu "Przełąduj stronę" wybór był taki, jaki wskazałem.
Bardzo proszę o podpowiedź aby rozwiązać mój problem.


--------------------
Zapraszam do mojej prywatnej galerii zdjęć: www.merde.pl.
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




Lepiej nadawaj VALUE dla option i tą wartością się kieruj przy sprawdzaniu wartości.
Aby coś zaznaczyc musisz dodac checked="checked"
  1. $porz = isset($_POST['liczba_porzadkowa']) ? $_POST['liczba_porzadkowa'] : null;
  2. while ($wiersz = mysql_fetch_assoc($dane))
  3. {
  4. $checked = ($porz == $wiersz['nazwa']) ? ' checked="checked"' : '';
  5. echo '<option value="'.$wiersz["nazwa"].'"'.$checked.'>'.$wiersz["nazwa"].'</option>';
  6. }



--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(nospor @ 29.10.2010, 10:41:08 ) *
Aby coś zaznaczyc musisz dodac checked="checked"

~nospor miał na myśli selected="selected" smile.gif
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Tak, oczywiscie, selected="selected". Pomyliło mi się z checkboxem smile.gif
Dzieki za poprawke smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
joka2
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.07.2009

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


Działa.

Efekt można zobaczyć na stronie 4oo.pl, w sekcji: "Dodaj stronę".

Chciałbym Wam podziękować za pomoc.
Może po 1 linku (nofollow) dla nospor i phpion do Waszych serwisów, wyświetlany przez miesiąc w stopce mojego autorskiego katalogu?

Dziękuję za pomoc.
Marek


--------------------
Zapraszam do mojej prywatnej galerii zdjęć: www.merde.pl.
Go to the top of the page
+Quote Post
fr33d0m
post
Post #6





Grupa: Zarejestrowani
Postów: 132
Pomógł: 4
Dołączył: 22.10.2010

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


Trochę nie na temat, ale Twój katalog przy dodawaniu strony wycina znaki - z URL questionmark.gif winksmiley.jpg
Dodaje stronę z tymże znakiem i wyskakuje mi:
Kod
Nie istnieje taki adres.
Proszę sprawdzić poprawność adresu i ewentualnie wprowadzić ponownie!



--------------------
UWAGA! Stwierdzono naruszenie paragrafu §33 ustawy ACTA. Podpis użytkownika został usunięty.
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 Aktualny czas: 21.08.2025 - 12:42