Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Formularz
cezarszl
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.11.2009
Skąd: Cz-wa

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


Mam formularz wysyłający dane do pliku chart.php, który rysuje wykres oparty o OFC2. Aktualnie mam zrobione tak, ze wynik czyli ten wykres pojawia sie w osobnym oknie (600,300). A chciałbym, że po wciśnieciu buttona 'Rysuj' wyświetlał się pod formularzem.

Oto kod w ramach ścisłości

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
  3. <title>CHARTS</title>
  4. <meta content="text/html; charset=iso-8859-2" http-equiv="Content-Type" />
  5. </head>
  6. <h1>STATYSTYKI SPRZEDAŻY</h1>
  7. <?php
  8. include_once( 'mysql_connect.php');
  9. $request = "SELECT DISTINCT nazwa FROM ir09";
  10. $result = $db->query($request);
  11. $found = $result->num_rows;
  12. $nazwa = array();
  13.  
  14. while($row = $result->fetch_array())
  15. {
  16. $nazwa[] = $row['nazwa'];
  17. }
  18. ?>
  19. <form action='chart.php' method="post" TARGET="chart.php" onSubmit="window.open('','chart.php', 'width=600,height=300')">
  20. Wybierz towar: <br /><br />
  21. <select name="towar">
  22. <?php
  23. for($i=0; $i<$found; $i++)
  24. {
  25. echo '<option>'.$nazwa[$i].'</option>';
  26. }
  27. ?>
  28. <br />
  29. <br />
  30. Wybierz przedział czasowy: <br /><br />
  31. <select name="miesiac1">
  32. <option value="01">Styczeń</option>
  33. <option value="02">Luty</option>
  34. <option value="03">Marzec</option>
  35. <option value="04">Kwiecień</option>
  36. <option value="05">Maj</option>
  37. <option value="06">Czerwiec</option>
  38. <option value="07">Lipiec</option>
  39. <option value="08">Sierpień</option>
  40. <option value="09">Wrzesień</option>
  41. <option value="10">Październik</option>
  42. <option value="11">Listopad</option>
  43. <option value="12">Grudzień</option>
  44. <?php
  45. $request = "SELECT DISTINCT year(data) as rok FROM ir09;";
  46. $result = $db->query($request);
  47. $found = $result->num_rows;
  48. $rok = array();
  49.  
  50. while($row = $result->fetch_array())
  51. {
  52. $rok[] = $row['rok'];
  53. }
  54. ?>
  55. <select name="rok1">
  56. <?php
  57. for($i=0; $i<$found; $i++)
  58. {
  59. echo '<option>'.$rok[$i].'</option>';
  60. }
  61.  
  62. ?>
  63. <br />
  64. <br />
  65. <select name="miesiac2">
  66. <option value="01">Styczeń</option>
  67. <option value="02">Luty</option>
  68. <option value="03">Marzec</option>
  69. <option value="04">Kwiecień</option>
  70. <option value="05">Maj</option>
  71. <option value="06">Czerwiec</option>
  72. <option value="07">Lipiec</option>
  73. <option value="08">Sierpień</option>
  74. <option value="09">Wrzesień</option>
  75. <option value="10">Październik</option>
  76. <option value="11">Listopad</option>
  77. <option value="12">Grudzień</option>
  78. <select name="rok2">
  79. <?php
  80. for($i=0; $i<$found; $i++)
  81. {
  82. echo '<option>'.$rok[$i].'</option>';
  83. }
  84.  
  85. ?>
  86. <br />
  87. <br />
  88. <br />
  89. <br />
  90. <input type="submit" value="Rysuj">
  91. </form>
  92. <br />
  93. <br />
  94. </body>
  95. </html>


Ten post edytował cezarszl 29.01.2010, 02:36:53
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




I w czym problem? Załadowanie w nowym oknie realizuje kod:
  1. onSubmit="window.open('','chart.php', 'width=600,height=300')

w nagłówku formularza. Omiń go i będzie się ładował na stronie z formularzem.
Go to the top of the page
+Quote Post
cezarszl
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.11.2009
Skąd: Cz-wa

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


Bez tego przeglądarka przechodzi do chart.php, a ja chce, zeby wynik wyswietlil mi sie pod formularzem.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Przecież to sa podstawy, już nawet nie php, ale html! Musisz wskazać plik, do którego przekażesz dane:
  1. <form action='TU_PLIK_WYKONAWCZY.php' method="post">
Go to the top of the page
+Quote Post
cezarszl
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.11.2009
Skąd: Cz-wa

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


OMG człowieku ten plik, który wstawiłem to main.php i on wysyła post'em do chart.php (IMG:style_emoticons/default/ohmy.gif)

Ja chce, zeby wynik czyli chart.php wyswietlal sie na tej samej stronie co formularz, jako wynik przycisniecia 'Rysuj'. Nie wiem czy trzeba tu jakis JavaScript, czy np. podzielić main.php css'em. Niech ktoś mnie tylko nakieruje.....
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A to nie prościej include'ować zawartość pliku jeśli wykryto przesłanie prawidłowych wartości dla $_POST?
Go to the top of the page
+Quote Post
skowron-line
post
Post #7





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <form action="" method="post">


i tak jak wyżej
  1. if( isset( $_POST['submit' ])) // rysuj wykres czy tam wstaw obrazek.


Ten post edytował skowron-line 29.01.2010, 11:25:58
Go to the top of the page
+Quote Post
pablo89pl
post
Post #8





Grupa: Zarejestrowani
Postów: 143
Pomógł: 19
Dołączył: 7.09.2009
Skąd: Rzeszów

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


Mozesz skorzystać z JQuery i funkcyjki $.ajax() www.jquery.com
Go to the top of the page
+Quote Post
cezarszl
post
Post #9





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.11.2009
Skąd: Cz-wa

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


Wykorzystałem rade skowrona i działa. W ogóle o tym zapomniałem dzięki (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.08.2025 - 08:59