Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][html] Przeładowanie po SELECT
netes
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 5.06.2003

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


Witam.
Zrobiłem filtrowanie produktów wg określonych kryteriów, chciałbym jeszcze by można je było wybierać z pola SELECT.
Do SELECTa dane pobieram z bazy danych, ale nie mam pojęcia jak zrobić, by po wybraniu określonego kryterium strona automatycznie przeładowywała się z podanym kryterium (np. produkt.php?kat=2) gdzie "2" pochodziło by z SELECTa. Szukałem na forum, ale może jestem trochę zbyt leniwy, bo rozwiązania nie znalazłem. Jeśli takowe jest już gdzieś w postach proszę o link.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
remik09
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 10
Dołączył: 25.12.2005
Skąd: Ruda Śląska

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


Kod
<select name="nazwa">
<option onClick="this.form.action='?_tutaj_nazwa_akcji_formularza;this.form.submit()" value="wartosc">wartosc</option>
</select


a potem

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


tu masz zapisana wartosc wybranej opcji


--------------------
moj blog z glupotami
darmowe mp3

workstation: zendstudio 5.5.0 | EditPlus 3 | PHP/4.3.9 |
Go to the top of the page
+Quote Post
netes
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 5.06.2003

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


Wielkie dzięki, pomogło smile.gif teraz już pięknie działa, poza jednym małym detalem - chciałbym jeszcze żeby po przeładowaniu automatycznie wybierane było w SELECT pole, które wybrał użytkownik. Wydaje mi się, że to drobnostka, ale nie mam sposobu winksmiley.jpg

W tej chwili wygląda to tak:
  1. <?php
  2. echo "<select name=\"WgSrednicy\">";
  3. while ($qSsh = mysql_fetch_array($qSdo))
  4.  {
  5.  echo "<option onClick=\"this.form.action='katalog.php?t=Srednica';this.form.submit()\" value=\"$qSsh[Srednica]\">
  6.  $qSsh[Srednica]
  7.  </option>";
  8.  }
  9.  echo "</select>";
  10. ?>


Ten post edytował netes 26.03.2008, 23:04:05
Go to the top of the page
+Quote Post
krzywy36
post
Post #4





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

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


selected="selected" ;]


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
netes
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 5.06.2003

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


@krzywy36

Wiem, że selected="selected", ale jak zrobić, by po przeładowaniu strony odpowiedni OPTION dostawał ten atrybut?
Go to the top of the page
+Quote Post
krzywy36
post
Post #6





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

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


No chociażby robisz tak że po kliknieciu na jakiś option przekazujesz w adresie nazwe optiona, a potem w kazdym optionie piszesz
  1. <?php
  2. if($_GET['nazwa_optiona'] == '(tutaj nazwa optiona w ktorym to piszesz)')
  3. {
  4. echo 'selected="selected"';
  5. }
  6. ?>

i tak w każdym optionie smile.gif

Ten post edytował krzywy36 26.03.2008, 23:11:48


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
nitek
post
Post #7





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

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


jesli sie nie pomyslilem, to tak:

  1. <?php
  2. echo "<select name=\"WgSrednicy\">";
  3. while ($qSsh = mysql_fetch_array($qSdo))
  4.  {
  5.  echo "<option onClick=\"this.form.action='katalog.php?t=Srednica';this.form.submit()\" ";
  6.  if ($qSsh[Srednica]==$_POST['WgSrednicy']) echo "selected='selected'";
  7.  echo "value=\"$qSsh[Srednica]\">
  8.  $qSsh[Srednica]
  9.  </option>";
  10.  }
  11.  echo "</select>";
  12. ?>


--------------------
Go to the top of the page
+Quote Post
netes
post
Post #8





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 5.06.2003

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


@nitek
Wielkie dzięki smile.gif działa jak należy.

EDIT:
Internet Explorer się jednak buntował (nie przeładowywał), ale poradziłem sobie przypisując akcję onchange do selecta, a nie onclick do optiona.

  1. <?php
  2. echo "<select onchange=\"this.form.action='katalog.php?t=$FiltrType';this.form.submit()\" name=\"$WgCzego\">\n";
  3. echo "<option value=\"all\">-</option>\n";
  4. while ($qSsh = mysql_fetch_array($qSdo))
  5. {
  6. echo "<option ";
  7. if ($qSsh[$FiltrType]==$_POST[$WgCzego]) echo "selected='selected'";
  8. echo "value=\"$qSsh[$FiltrType]\">$qSsh[$FiltrType]";
  9. if ($FiltrType == Srednica) echo "&quot;";
  10. echo "</option>\n";
  11. }
  12. echo "</select>";
  13. ?>


Ten post edytował netes 27.03.2008, 21:53:31
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: 20.08.2025 - 04:25