Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js]Zapytanie <select> czyli jak to zrobic bez przycisku "wyslij"
idas
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.03.2007

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


Yo!
Mam sprawe: chcialbym, aby po wybraniu odpowiedniej opcji z rozwijanej listy <select</select> od razu ladowala sie konkretna strona. Tzn. chodzi mi o to, aby pozbyc sie przycisku typu "wyslij", ktory przesyla dane dalej dopiero po kliknieciu na niego. Ktos wie jak to zrobic?

Przykladowe zapytanie:
  1. <select name="status" size="1">
  2. <option value="">Status</option>
  3. <option value="">-----------</option>
  4. <option value="przyjete" <?php if ($status == 'przyjete') {echo 'selected';} ?>>przyjete</option>
  5. <option value="zrealizowane" <?php if ($status == 'zrealizowane') {echo 'selected';} ?>>zrealizowane</option>
  6. <option value="zwrocone" <?php if ($status == 'zwrocone') {echo 'selected';} ?>>zwrocone</option>
  7. </select>


Dzieki za porady winksmiley.jpg
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


wykorzystaj javascript
google -> javascript OnChange


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
no_face
post
Post #3





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


Ze tak powiem gotowiec, ale postaraj sie zrozumiec o co w tym chodzi.

  1. <select id="cos" onchange="self.location.href = this.value" size="1" name="jakas_nazwa">
  2.  <option value="artykuly.php">artykuly</option>
  3.  <option value="cos.php">cos</option>
  4.  <option value="inne.php">inne</option>
  5. </select>


w value podajesz kolejno stronki, ktore maja byc wczytane.

Ten post edytował no_face 5.04.2007, 23:41:50
Go to the top of the page
+Quote Post
idas
post
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.03.2007

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


Oko to powyzsze dziala. Teraz mam jeszcze jedna sprawe, mianowicie:
Chcialbym, aby po wybraniu odpowiedniej opcji, dokonywal sie update wartosci w podanej kolumnie w tabeli w bazie danych.
Zapytanie w stylu:
  1. <select name="status" size="1" onchange="self.location.href = this.value">
  2. <option value="">Status</option>
  3. <option value="">-----------</option>
  4. <option value="zamowienia.php" <?php if ($status == 'przyjete') {echo 'selected';} ?>>przyjete</option>
  5. <option value="zamowienia.php" <?php if ($status == 'zrealizowane') {echo 'selected';} ?><?php mysql_query("UPDATE zamowienia SET status='zrealizowane' WHERE id_zamowienia='$id_zamowienia'");?>>zrealizowane</option>
  6. <option value="zamowienia.php" <?php if ($status == 'zwrocone') {echo 'selected';} ?>>zwrocone</option>
  7. </select>


Nie dziala poprawnie, pozniewaz zmienia mi wartosc dla wszystkich wierszy w tabeli zamowienia:/ Jak to ograniczyc? Jak wykryc ktora opcja zostala kliknieta?
Dzieki winksmiley.jpg

Hmmmm...chyba juz rozumiem. Ja wyswietlam u siebie po kolei wiersze tabeli zamowienia. W kazdym wierszu mam wlasnie ta liste z wyborem opcji. Teraz jak wybieram rozwija w danym wierszu ta liste opcji <select></select> to nie mam zapamietanej nigdzie zmiennej $id_zamowienia, ktora identyfikowalaby mi dany wiersz :/ Ktos wie jak je moze zapamietywac od razu przy wyswietlaniu tablicy z bazy danych?

Ten post edytował idas 6.04.2007, 00:17:26
Go to the top of the page
+Quote Post
no_face
post
Post #5





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


Po pierwsze linijka mysql wykona sie za kazdym razem drugi ifek jej nie lapie. Po drugie w zmiennej status masz zamowienia.php . Po trzecie przy wyciagnieciu z bazy przypisz sobie wartosc do jakiejs zmiennej sesyjnej, pozniej po przeladowaniu strony bez problemu odczytasz ja sobie.
Go to the top of the page
+Quote Post
idas
post
Post #6





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.03.2007

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


Albo jak po prostu tutaj przeslac id_zamowienia w $_GET[]?
Bo jak dodam do URL w polu value odpowiednio zamowienia.php?zamowienia=$id_zamowienia to przesyla poprawna zmienna, ale nie da rady jej odebrac na dopiero co otwartej stronie, bo ladowany jest adres z pola onchange="self.location.href = this.value"...przynajmniej tak podejrzewam, ze tutaj tkwi blad...

Cytat(no_face @ 6.04.2007, 01:35:24 ) *
Po trzecie przy wyciagnieciu z bazy przypisz sobie wartosc do jakiejs zmiennej sesyjnej, pozniej po przeladowaniu strony bez problemu odczytasz ja sobie.

Hmmm...no ale jak to zrobic, skoro powiedzmy w tabeli zamowienia mam kilkadziesiat wierszy i potrzebuje zapamietac id kazdego wiersza...jak przypisac to do "unikatowej z nazwy" zmiennej sesyjnej, tak zebym wiedzial z ktorej zmiennej sesyjnej pozniej odczytac wartos id danego wiersza?

Nikt nie potrafi pomoc?

Ten post edytował idas 6.04.2007, 00:49:22
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 - 15:39