Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js]Zapytanie <select> czyli jak to zrobic bez przycisku "wyslij"
Forum PHP.pl > Forum > Przedszkole
idas
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
Daimos
wykorzystaj javascript
google -> javascript OnChange
no_face
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.
idas
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?
no_face
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.
idas
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?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.