Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wstawianie danych z formularza do pliku np doc
Forum PHP.pl > Forum > Przedszkole
jarekko
Witam
Potrzebuję pomocy z czymś takim: mam formularz, który po kliknięciu 'zapisz/drukuj' powinien zapisać do tabeli w MySql dane oraz wstawić te dane do pliku z rozszerzeniem np. .doc i wydrukować je (np. kilka umów).
Czy można uniknąć wstawiania danych i konwersji do pdf'u? Ponieważ umowy są bardzo długie, nie mogę wstawić danych bezpośrednio do tekstu w html, musi to być prosty formularz.

Z góry dzięki za pomoc
slawek3422
Ostatnio przerabiałem ten temat.

Możesz śmiało przerobić mój skrypt :

U mnie musiałem wygenerowaną tabelę wrzucić do *.doc. Zrobiłem to tak, że w skrypcie generującym tabelę utworzyłem zmienną sesyjną, do której przypisałem cały kod tabeli. Na stronie zrobiłem buttona kierującego do skryptu eksportującego. A oto on :

  1. <?php
  2. $word_xmlns = "xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' encoding='UTF-8' xmlns='http://www.w3.org/TR/REC-html40'";
  3. $word_xml_settings = "<xml><w:WordDocument><w:View>Print</w:View><w:Zoom>100</w:Zoom></w:WordDocument></xml>";
  4. $word_landscape_style = "@page {size:8.5in 11.0in; margin:0.5in 0.31in 0.42in 0.25in;} div.Section1{page:Section1;}";
  5. $word_landscape_div_start = "<div class='Section1'>";
  6. $word_landscape_div_end = "</div>";
  7. $content = '
  8. <html '.$word_xmlns.'>
  9. <head>'.$word_xml_settings.'<style type="text/css">
  10. '.$word_landscape_style.'
  11.  
  12. tutaj możesz sobie ustalić własne style, których używasz do formatowania formularza
  13.  
  14.  
  15. table.lista1{
  16.  
  17. border-collapse: collapse;
  18. text-align: center;
  19. font-family: verdana;
  20. text-align: center;
  21. background-color: #ffffff;
  22. font-size: 11px;
  23. width: 700px;
  24. }
  25. td.lista_kategoria_ogolne{
  26. background-color: #a38df4;
  27. font-weight: bold;
  28. border: 1px solid;
  29.  
  30. }
  31. td.lista{
  32. border: 1px solid;
  33. }
  34. p{
  35. text-align: center;
  36. font-family: verdana;
  37. text-align: center;
  38. background-color: #ffffff;
  39. font-size: 11px;
  40. font-weight: bold;
  41. }
  42. </style>
  43. </head>
  44. <body>'.$word_landscape_div_start.$content.$word_landscape_div_end.$title.$_SESSION['raport'.$id][0].'</body>
  45. </html>
  46. ';
  47.  
  48. @header('Content-Type: application/msword; encoded-word');
  49. @header('Content-Length: '.strlen($content));
  50. @header('Content-disposition: inline; filename="raport.doc"');
  51. echo $content;
  52.  
  53. ?>


Zamiast $_SESSION['raport'.$id][0] wpakuj swój formularz i masz problem rozwiązany.

Powodzenia!
-jarekko-
Sławek dzięki! Pokazałeś mi chyba dobry kierunek... Jakieś światełko w tunelu smile.gif Jeszcze nie mogę zrobić, aby odpowiednie wyrazy wpadały w odpowiednie miejsca tekstu, ale.... już bliżej...
Dzięki jeszcze raz!
PS
Jestem adminem IT, php to dopiero od 2 tygodni przerabiam z potrzeby... smile.gif
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.