Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Formularz
Forum PHP.pl > Forum > Przedszkole
cezarszl
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>
Kshyhoo
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.
cezarszl
Bez tego przeglądarka przechodzi do chart.php, a ja chce, zeby wynik wyswietlil mi sie pod formularzem.
Kshyhoo
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">
cezarszl
OMG człowieku ten plik, który wstawiłem to main.php i on wysyła post'em do chart.php 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.....
thek
A to nie prościej include'ować zawartość pliku jeśli wykryto przesłanie prawidłowych wartości dla $_POST?
skowron-line
  1. <form action="" method="post">


i tak jak wyżej
  1. if( isset( $_POST['submit' ])) // rysuj wykres czy tam wstaw obrazek.
pablo89pl
Mozesz skorzystać z JQuery i funkcyjki $.ajax() www.jquery.com
cezarszl
Wykorzystałem rade skowrona i działa. W ogóle o tym zapomniałem dzięki winksmiley.jpg
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.