Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularze
Forum PHP.pl > Forum > Przedszkole
demo
Czy istnieje możliwość zatwierdzenia wielu formularzy jednym przyciskiem sumbit?
mike
Nie.


P.S.
Prosze poprawic temat wątku.
Nie jest zgodny z zasadami panującymi na forum Przedszkole
Cysiaczek
Tak.
Musisz użyć do tego JavaScript - zbierasz kilka formularzy i wysyłasz.
Poczytaj o JS.
mike
Ale to wtedy bedzie wysłanie jednego formularza, tylko powiększonego o pola sztucznie dołączone z innych formularzy.
Cysiaczek
Zgadza się smile.gif Tak właśnie będzie i o to koledze pewnie chodzi laugh.gif chyba...

Cysiaczek nie nabijaj... /~nospor/
demo
thx za szybka odpowiedz zabieram sie do lektury smile.gif

Niestety js nie rozwiazal mojego problemu. Moze zle go tutaj na forum ujolem. Wiec przedstawie go od samego poczatku. Mam taki oto formularz:
  1. <form action="2.php?action=add&type=koncert" method="post">
  2. <input type="text" name="sezon">
  3. <input type="text" name="miejsce">
  4. <input type="text" name="nazwa">
  5. </form>
  6. <form action="2.php?action=add&type=program" method="post">
  7. <input type="text" name="lp">
  8. </form>


Zwroccie uwage ze obydwa "formy" różnia sie atrybutem action dokladnie "type".
Nastepnie mam skrypt obslugujacy ten formularz:
  1. <?php
  2. $link = mysql_connect("localhost", "root", "krasnal")
  3. or die("Nie udało się połączyć: " . mysql_error());
  4. mysql_select_db('archiwum', $link);
  5. switch ($_GET['action'])
  6. {
  7. case "add":
  8. switch ($_GET['type'])
  9. {
  10. case "koncert":
  11. $sql = "INSERT INTO koncert
  12. (k_sezon,
  13. k_miasto,
  14. k_miejsce,
  15. k_nazwa)
  16. VALUES
  17. ('" . $_POST['sezon'] . "',
  18. '" . $_POST['miasto'] . "',
  19. '" . $_POST['miejsce'] . "',
  20. '" . $_POST['nazwa'] . "')";
  21. break;
  22.  
  23. case "program":
  24. $sql=" INSERT INTO program
  25.  (p_lp)
  26.  VALUES
  27.  ('".$_POST['lp']."')";
  28.  break;
  29. }
  30. break;
  31. }
  32. ?>


Problem tkwi w tym jak zatwierdzic kilka formow ale w ten sposob aby byly wykonywany skrypt dla każdego oddzielnie z innymi "parametrami".Jest to wazne poniewaz rozne dane ida do roznych tablic w bazie.
Cysiaczek
Tu wina leży po stronie Twojego php - masz różne akcje dla każdego formularza - tak tego nie zrobisz. Musisz bardziej skupić się na obsłudzie żadania. Np. Możesz stworzyć jedno żadanie: type=both

Pozdrawiam.
demo
Moze macie jakies pomysly w jaki sposob mozna by bylo wysylac dane z jednego formularza do wielu tablic w bazie? Bo takie ma zadanie spelniac moj powyzszy skrypt.
sowi
W momencie kiedy zatwierdzasz formularz generowana jest tablica ze zmiennymi $_POST['zmienna'] i to już od Ciebie zależy jak pokierujesz nimi poprzez plik, który ustawisz w action=""

przykładowo w formularzu masz 2 pola - imie i nazwisko.

w pliku przetwarzającym zmienne dajesz 2 kwerendy odwolujace sie do 2 tablic - i po sprawie
  1. INSERT INTO nazwiska SET nazwisko='$nazwisko';
  2. INSERT INTO imiona SET imie='$imie';


Mozna to upchnąć również w jednym zapytaniu do bazy ale po co kombinować tongue.gif
demo
Zrobilem tak, dalem dwie kwerendy ale nie wiem czemu wypelnial mi tylko jedna tabele...sad.gif mozliwe ze gdzies popelnilem blad, ale dzieki za podsuniacie pomyslu.
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.