Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dwa Submit-y, jeden Radio button
Forum PHP.pl > Forum > PHP
Jokeer
Witam, natknąłem się na probem, którego nie potrafię rozwiązać. Chodzi o to, że w formie mam kilka pozycji w tabeli, przy każdej Radio button. Potrzebuje zrobić coś takiego, że po wyborze odpowiedniego radio buttona, użytkownik w zależności co chce zrobić z danymi z radio buttona wybiera sobie jeden z dwóch przycisków. Niestety nie wiem jak to wykonać i czy jest to w ogóle możliwe, mam nadzieje że opisałem mój problem wystarczającą, ale dla lepszego zobrazowania problemu, zamieszczę obrazek, który przedstawi sytuację, o której mówie.



tehaha
rozumiem, że problem dotyczy detekcji, który button został naciśnięty. Rozpoznania dokonujesz na podstawie tego, który z nich został przesłany w tablicy $_POST

w html dajesz:

  1. <input type="radio" name="id" value="1"/>
  2. <input type="radio" name="id" value="2"/>
  3. <input type="radio" name="id" value="3"/>
  4.  
  5. <input type="submit" name="delete" value="usuń"/>
  6. <input type="submit" name="edit" value="edytuj"/>


po stronie php:

  1. if(isset($_POST['delete']))
  2. {
  3. //kliknięto w usuń
  4. }
  5. else
  6. {
  7. //kliknięto w edit
  8. }
celbarowicz
Zamiast submitów możesz użyć buttony.
Do każdego buttona możesz przypisać odpowiednią funkcję onclick i dane przekazać za pomocą jq i ajaksa do odpowiedniego pliku.
kamil4u
@celbarowicz: Tak się tego nie robi. Prawidłowe rozwiązanie to to podane przez ~tehaha i tylko to. Ew. jak chcesz mieć wszystko dynamicznie( przez AJAX ) to jedynie nadpisujesz JS kod w taki sposób jak Ty chciałbyś to zrobić. Generalnie jest zasada, że jeżeli da się coś zrobić bez używania JS to się właśnie tak to robi, a później jedynie dodaje się odpowiednie efekty.

Pozdrawiam
Jokeer
Dzięki chłopaki, problem rozwiązany sposobem podanym przez tehaha smile.gif
celbarowicz
kamil4u załamałeś mnie totalnie. Zgadzam się z tym, że jq,ajax to ostateczność -ujawniane są bowiem nazwy plików itp..
Sądziłem, że po wciśnięciu submita skrypt oczekuje na efekt działania i przynajmniej część jego przeładuje się.
Pytam więc: po kiego diabła ten jq-ajax?
Dlaczego jest tak wiele pytań->jak nie przeładować?
Pozdro.
kamil4u
Nie rozumiem biggrin.gif

Opisz dokładniej co masz na myśli i czy się zgadzasz z tym co napisałem czy nie, czy masz jakieś uwagi lub argumenty przeciw lub za. Bo teraz to nie wiem o co Ci chodzi.

Cytat
Pytam więc: po kiego diabła ten jq-ajax?

No właśnie nie rozumiem. Ty zaproponowałeś to rozwiązanie...
Jokeer
Panowie, mam teraz inny problem, mianowicie da się wartość zmiennej $_GET przesłać dwukrotnie? Tzn. mam jej wartość w jednym z formularzu, bo wysyłam ją do niego z innego formularza, teraz potrzebuje użyć jej jeszcze raz, ale już w innym formularzu, jak mogę to zrealizować?
kamil4u
Zapisz sobie tę wartość w polu: <input type="hidden">. Wygeneruj to pole czy to przez PHP czy przez JS.

Ew. wyślij ten drugi formularz na: action="moja-strona.php?zmienna=wartosc"
Jokeer
Witam, mam do Was takie pytanie. W Mysql mam tabelę, w której przechowuję datę. Domyślnie ustawił sie format (RRRR-MM-DD). Natomiast potrzebuję zmienić format tej daty na DD.MM.RRRR. Kod w php, którym wstawiam datę do bazy to:
  1. $ins = @mysql_query("INSERT INTO towary SET main_id='$_GET[identyfikator]', nazwa='$_GET[nazwa]', ilosc='$_GET[ilosc]', data='$_GET[data]', cena='$_GET[cena]'");

gdzie $_GET[data] pobieram sobie z fomularza. Dodatkowo potrzebuje wykorzystać to pole do poźniejszego sortowania, także konwersja pola do zwykłego tekstu chyba niewiele mi pomoże.

Dziękuję za wszelką pomoc.
tehaha
1. Datę trzyma się w bazie dokładnie w takim formacie i tego się nie zmienia, dopiero przy wyświetlaniu danych konwertujesz ją na taki format jaki Ci się podoba funkcją date() np. jeśli potrzebujesz tak format: DD.MM.RRRR to robisz:
  1. echo date('m.d.Y', strtotime($date));
gdzie zmienna $date zawiera właśnie datę pobraną z bazy, w Twoim przypadku konwersji dokonaj przed wstawieniem do zapytania czyl
  1. $date = date('Y-m-d', strtotime($_GET['data']));
. Trzymanie daty w postaci tekstowej nie ma sensu bo nie mógłbyś korzystać wtedy z wbudowanych funkcji mysql na datach
2. Poczytaj o sql injection bo Twoje zapytanie ma luki
3. Nie używaj @
Jokeer
Chłopaki mam do Was jeszcze takie pytanie. Chodzi o sortowanie, mam na stronie tabelkę, w której mam nazwę, ilość, datę i cenę. Chciałbym żeby po naciśnięciu którejś kolumny dane zostały posortowane właśnie wg tej kolumny? Myślałem, żeby po prostu zrobić odnośnik do innego pliku, w którym będę sobie wyświetał dane odpowiednio posortowane, ale musiałbym sporo rzeczy przesylać do tego pliku z poprzednich formularzy. Jest na to jakieś inne rozwiązanie? Czy może da się to zrobić w tym samym pliku?
Jokeer
Panowie, zrobił się tu niezły skład moich pytań, więc jeszcze jedno smile.gif
Kiedy edytuje sobie w formularzu dane z bazy danych wszystko jest ok, do momentu kiedy w polu testowym mam dane z białym znakiem, w tym przypadku ze spacją, ponieważ wyświetla mi się tylko pierwszy człon do spacji. Jak mogę temu zaradzić?
kamil4u
Moim zdaniem lepiej zrobisz jak stworzysz nowy temat. Czasami inni użytkownicy mają podobny problem i łatwiej wtedy znaleźć coś w google smile.gif

Nie czytałem tematu jeszcze raz, dlatego zakładam, że to zupełnie nowy problem. Aby uzyskać rozwiązanie musisz napisać coś więcej i podać kod.
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.