Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] ujęcie wyniku zapytania skryptu jako string
Forum PHP.pl > Forum > Przedszkole
dentopolis
chciałbym poniższy kod umieścić wewnątrz string aby następnie zapisać go do pliku. kolejnym etapem będzie zamiana tego pliku w plik ics (kalendarz). w jaki sposób ująć ten kod jako string?

  1. <?php
  2. $servername = "";
  3. $username = "";
  4. $password = "";
  5. $dbname = "";
  6.  
  7. $conn = new mysqli($servername, $username, $password, $dbname);
  8. // Check connection
  9. if ($conn->connect_error) {
  10. die("Connection failed: " . $conn->connect_error);
  11. }
  12. $conn->set_charset("utf8");
  13. $sql = "SELECT * FROM calendar WHERE id_employee='0100000001'";
  14. $result = $conn->query($sql);
  15.  
  16. if ($result->num_rows > 0) {
  17.  
  18. echo "BEGIN:VCALENDAR \n";
  19. echo "PRODID:-//Google Inc//Google Calendar 70.9054//EN \n";
  20. echo "VERSION:2.0 \n";
  21. echo "CALSCALE:GREGORIAN \n";
  22. echo "METHOD:PUBLISH \n";
  23. echo "X-WR-CALNAME:Calendar \n";
  24. echo "X-WR-TIMEZONE:Europe/Warsaw \n";
  25.  
  26. while($row = $result->fetch_assoc()) {
  27.  
  28. $h_start = $row['h_start'];
  29. $h_end = $row['h_end'];
  30. $schedule_notes = $row['schedule_notes'];
  31.  
  32. echo "BEGIN:VEVENT\n";
  33. echo "DTSTART:"; //20211227T190000
  34. echo DateTime::createFromFormat('Y-m-d H:i:s', $h_start)->format('Ymd');
  35. echo "T";
  36. echo DateTime::createFromFormat('Y-m-d H:i:s', $h_start)->format('His');
  37. echo "\n";
  38. echo "DTEND:"; //20211227T190000
  39. echo DateTime::createFromFormat('Y-m-d H:i:s', $h_end)->format('Ymd');
  40. echo "T";
  41. echo DateTime::createFromFormat('Y-m-d H:i:s', $h_end)->format('His');
  42. echo "\n";
  43.  
  44. echo "END:VEVENT\n";
  45. }
  46.  
  47. echo "END:VCALENDAR\n";
  48.  
  49. } else {
  50. echo "no data";
  51. }
  52. $conn->close();
nospor
zamiast echo, to uzywaj zmiennej

$zm .= 'Cos tam';
$zm .= 'Cos tam innego';
$zm .= 'itd itd';
dentopolis
okay, próbuję, ale mam błąd
Warning: Undefined variable $ics in C:\xampp\htdocs\calendar.php on line 134

  1. if ($result->num_rows > 0) {
  2.  
  3.  
  4. $icsFilename = 'my_calendar.ics'; // change this according to your needs
  5. header('Content-Type: text/calendar');
  6. header("Content-disposition: attachment; filename=\"" . $icsFilename . "\"");
  7.  
  8. $ics .= "BEGIN:VCALENDAR \n";
  9. $ics .= "PRODID:-//Google Inc//Google Calendar 70.9054//EN \n";
  10. $ics .= "VERSION:2.0 \n";
  11. $ics .= "CALSCALE:GREGORIAN \n";
  12. $ics .= "METHOD:PUBLISH \n";
  13. $ics .= "X-WR-CALNAME:Pacjenci PŁ \n";
  14. $ics .= "X-WR-TIMEZONE:Europe/Warsaw \n";
  15.  
  16. while($row = $result->fetch_assoc()) {
  17.  
  18.  
  19. $h_start = $row['h_start'];
  20. $h_end = $row['h_end'];
  21. $imie = $row['imie'];
  22. $nazwisko = $row['nazwisko'];
  23. $schedule_notes = $row['schedule_notes'];
  24. $pesel = $row['pesel'];
  25. $komorka = $row['komorka'];
  26. $uid = substr(sha1(mt_rand()),26,26);
  27.  
  28.  
  29. $ics .= "BEGIN:VEVENT\n";
  30.  
  31. $ics .= "SUMMARY:"; //20211227T190000
  32. $ics .= $imie;
  33. $ics .= " ";
  34. $ics .= $nazwisko;
  35. $ics .= "\n";
  36.  
  37. $ics .= "DTSTART:"; //20211227T190000
  38. $ics .= DateTime::createFromFormat('Y-m-d H:i:s', $h_start)->format('Ymd');
  39. $ics .= "T";
  40. $ics .= DateTime::createFromFormat('Y-m-d H:i:s', $h_start)->format('His');
  41. $ics .= "\n";
  42.  
  43. $ics .= "DTEND:"; //20211227T190000
  44. $ics .= DateTime::createFromFormat('Y-m-d H:i:s', $h_end)->format('Ymd');
  45. $ics .= "T";
  46. $ics .= DateTime::createFromFormat('Y-m-d H:i:s', $h_end)->format('His');
  47. $ics .= "\n";
  48.  
  49. $ics .= "UID:"; //7ko43dfm8luc0l4ouv5c16rs10@google.com
  50. $ics .= $uid;
  51. $ics .= "@google.com\n";
  52.  
  53. $ics .= "DESCRIPTION:";
  54. if (is_null($schedule_notes)) {
  55. $ics .= "";
  56. } else {
  57. $ics .= $schedule_notes;
  58. }
  59. $ics .= " ";
  60.  
  61. if (is_null($pesel)) {
  62. $ics .= "";
  63. } else {
  64. $ics .= $pesel;
  65. }
  66. $ics .= " ";
  67. $ics .= "tel:";
  68.  
  69. if (is_null($komorka)) {
  70. $ics .= "";
  71. } else {
  72. $ics .= $komorka;
  73. }
  74.  
  75. $ics .= " ";
  76. $ics .= "\n";
  77.  
  78. $ics .= "CREATED:";
  79. $ics .= date("Ymd");
  80. $ics .= "T";
  81. $ics .= date("His");
  82. #$ics .= "Z";
  83. $ics .= "\n";
  84.  
  85. $ics .= "LAST-MODIFIED:";
  86. $ics .= date("Ymd");
  87. $ics .= "T";
  88. $ics .= date("His");
  89. #$ics .= "Z";
  90. $ics .= "\n";
  91.  
  92. $ics .= "DTSTAMP:";
  93. $ics .= date("Ymd");
  94. $ics .= "T";
  95. $ics .= date("His");
  96. #$ics .= "Z";
  97. $ics .= "\n";
  98.  
  99. $ics .= "LOCATION:";
  100. $ics .= "\n";
  101.  
  102. $ics .= "SEQUENCE:0";
  103. $ics .= "\n";
  104.  
  105. $ics .= "STATUS:CONFIRMED";
  106. $ics .= "\n";
  107.  
  108. $ics .= "TRANSP:OPAQUE";
  109. $ics .= "\n";
  110.  
  111.  
  112. $ics .= "END:VEVENT\n";
  113. }
  114.  
  115. $ics .= "END:VCALENDAR\n";
  116.  
  117. } else {
  118. $ics .= "brak wyników";
  119. }
  120. #$conn->close();
nospor
Bo na poczatku trzeba te zmienna zadeklarowac np

  1. $ics = '';
  2.  
  3. $ics .= "BEGIN:VCALENDAR \n";
  4. $ics .= "PRODID:-//Google Inc//Google Calendar 70.9054//EN \n";
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.