Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP][MySQL] Automatyczne wysyłanie wiadomości email po spełnieniu warunków
brzanek
post
Post #1





Grupa: Zarejestrowani
Postów: 429
Pomógł: 0
Dołączył: 8.11.2012

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


Witam planuję napisać funkcję do automatycznego masowego wysyłania wiadomości email o określonej treści do osób z z dresami zamieszczonymi w bazie danych mysql.
Jestem w trakcie pisania warunków i mam pierwszy problem.
  1. include('db.php');
  2.  
  3. $result = $mysqli->query("SELECT * FROM prognoza WHERE wtemperatureMax BETWEEN 22 AND 28 AND wtime=1562277600");
  4. //$result = $mysqli->query("SELECT * FROM prognoza WHERE wid_miasto =2 ORDER BY id ASC LIMIT 1");
  5. while($row = mysqli_fetch_array($result)) {
  6. echo "".$row['wid_miasto'].": ".ceil($row['wtemperatureMax'])."</br>";
  7. //temperatura
  8. if ($row['wid_miasto'] = 1)
  9. {
  10. echo "<i>wyślij emaila do choszczna</i>";
  11. }
  12. else if ($row['wid_miasto'] = 2)
  13. {
  14. echo "<i>wyślij emaila do szczecina</i>";
  15. }
  16. else if ($row['wid_miasto'] = 7)
  17. {
  18. echo "<i>wyślij emaila do dębna</i>";
  19. }
  20. else{
  21. // instrukcje, gdy wszystkie warunki nie są spełnione
  22. }
  23. }

Nie wiem dlaczego nie spełnia się ten warunek.
Powinien być napis wysyłany zostaje email do dębna a jest do choszczna.
Czy da się coś takiego zrobić?
Na tym przykładzie:
Temperatura jutro w jednej z miejscowości wyniesie od 22 do 25 stopni. W związku z tym dla mieszkańca tej miejscowości zostaje wysłane powiadomienie o treści np. We wtorek w m. Dębno temperatura powietrza wyniesie tyle i tyle.
W bazie danych będę przechowywał adresy email oraz np.miejscowości lub powiaty i na podstawie zapytania z bazy danych do odpowiednich ludzi zostaną automatycznie wysłane wiadomości.
W cronie planuję odświeżanie np. co godzinę i sprawdzanie warunków.
Może ktoś coś takiego widział i może mnie nakierować.

Kod do wysyłania email
  1. $kontakt_imie = 'Tytuł';
  2. $kontakt_nazwisko = 'Nazwa';
  3. $kontakt_email = 'adres@email';
  4. $kontakt_wiadomosc = 'tekst wiadomości';
  5.  
  6. if( $kontakt_imie == true )
  7. {
  8. $nadawca = $kontakt_email;
  9. $odbiorca = "adresyemail@zbazy";
  10. $client_ip = $_SERVER['REMOTE_ADDR'];
  11. $email_tresc = "Imie: $kontakt_imie \nNazwisko: $kontakt_nazwisko \nEmail: $nadawca \n\nWiadomość: \n\n$kontakt_wiadomosc \n\nIP: $client_ip \n\n";
  12. $extra = "From: $nadawca\r\n" . "Reply-To: $nadawca \r\n" . "X-Mailer: PHP/" . phpversion();
  13.  
  14. if( mail( $odbiorca, "Formularz kontaktowy", $email_tresc, $extra ) )
  15. {
  16. echo "wyslano=tak";
  17. }
  18. else
  19. {
  20. echo "wyslano=nie";
  21. }
  22. }


Ten post edytował brzanek 1.07.2019, 12:51:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
brzanek
post
Post #2





Grupa: Zarejestrowani
Postów: 429
Pomógł: 0
Dołączył: 8.11.2012

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


Mam coś takiego.
  1. include('db.php');
  2.  
  3.  
  4. // pobieranie daty z bazy danych w formacie unix
  5. $result = $mysqli->query("SELECT * FROM prognoza WHERE wid_miasto =1 ORDER BY id ASC LIMIT 1");
  6. while ( $row = mysqli_fetch_array($result) ) {
  7. $tm = $row['wtime'];
  8. }
  9. $result = $mysqli->query("SELECT * FROM prognoza WHERE wid_miasto =1 ORDER BY id ASC LIMIT 1,1");
  10. while ( $row = mysqli_fetch_array($result) ) {
  11. $tmm = $row['wtime'];
  12. }
  13. $result = $mysqli->query("SELECT * FROM prognoza WHERE wid_miasto =1 ORDER BY id ASC LIMIT 2,1");
  14. while ( $row = mysqli_fetch_array($result) ) {
  15. $tmmm = $row['wtime'];
  16. }
  17. $result = $mysqli->query("SELECT * FROM prognoza WHERE wid_miasto =1 ORDER BY id ASC LIMIT 3,1");
  18. while ( $row = mysqli_fetch_array($result) ) {
  19. $tmmmm = $row['wtime'];
  20. }
  21. $result = $mysqli->query("SELECT * FROM prognoza WHERE wid_miasto =1 ORDER BY id ASC LIMIT 4,1");
  22. while ( $row = mysqli_fetch_array($result) ) {
  23. $tmmmmm = $row['wtime'];
  24. }
  25. $result = $mysqli->query("SELECT * FROM prognoza WHERE wid_miasto =1 ORDER BY id ASC LIMIT 5,1");
  26. while ( $row = mysqli_fetch_array($result) ) {
  27. $tmmmmmm = $row['wtime'];
  28. }
  29. $result = $mysqli->query("SELECT * FROM prognoza WHERE wid_miasto =1 ORDER BY id ASC LIMIT 6,1");
  30. while ( $row = mysqli_fetch_array($result) ) {
  31. $tmmmmmmm = $row['wtime'];
  32. }
  33.  
  34. // sprawdzanie i pobieranie lokalizacji gdzie jest od 20 do 28 stopni. Zastosowany warunek do wysłania wiadomości email do odpowiedniej lokalizacji
  35.  
  36. $result = $mysqli->query("SELECT * FROM prognoza WHERE wtemperatureMax BETWEEN 20 AND 28 AND wtime =$tm");
  37. while($row = mysqli_fetch_array($result)) {
  38. echo "".$row['wid_miasto'].": ".ceil($row['wtemperatureMax'])."</br>";
  39. //temperatura
  40. if ($row['wid_miasto'] == 1)
  41. {
  42. echo "<i>wyślij emaila o temp. do choszczna</i>";
  43. }
  44. else if ($row['wid_miasto'] == 2)
  45. {
  46. echo "<i>wyślij emaila o temp. do szczecina</i>";
  47. }
  48. else if ($row['wid_miasto'] == 7)
  49. {
  50. echo "<i>wyślij emaila o temp. do dębna</i>";
  51. }
  52. else if ($row['wid_miasto'] == 26)
  53. {
  54. echo "<i>wyślij emaila o temp. do police</i>";
  55. }
  56. else{
  57. // instrukcje, gdy wszystkie warunki nie są spełnione
  58. }
  59. }
  60.  
  61. $result = $mysqli->query("SELECT * FROM prognoza WHERE wwindGust BETWEEN 50 AND 60 AND wtime =$tm");
  62. while($row = mysqli_fetch_array($result)) {
  63. echo "".$row['wid_miasto'].": ".ceil($row['wwindGust'])."</br>";
  64. //temperatura
  65. if ($row['wid_miasto'] == 1)
  66. {
  67. echo "<i>wyślij emaila o silnym wietrze do choszczna</i>";
  68. }
  69. else if ($row['wid_miasto'] == 2)
  70. {
  71. echo "<i>wyślij emaila o silnym wietrze do szczecina</i>";
  72. }
  73. else if ($row['wid_miasto'] == 7)
  74. {
  75. echo "<i>wyślij emaila o silnym wietrze do dębna</i>";
  76. }
  77. else if ($row['wid_miasto'] == 26)
  78. {
  79. echo "<i>wyślij emaila o silnym wietrze do police</i>";
  80. }
  81. else{
  82. // instrukcje, gdy wszystkie warunki nie są spełnione
  83. }
  84. }
  85.  
  86. // wysyłanie emaila
  87. $kontakt_imie = '...';
  88. $kontakt_nazwisko = '...';
  89. $kontakt_email = 'info@wp.pl';
  90. $kontakt_wiadomosc = 'tekst wiadomości';
  91.  
  92. if( $kontakt_imie == true )
  93. {
  94. $nadawca = $kontakt_email;
  95. $odbiorca = "pobieranie_adresów_z_bazy";
  96. $client_ip = $_SERVER['REMOTE_ADDR'];
  97. $email_tresc = "Imie: $kontakt_imie \nNazwisko: $kontakt_nazwisko \nEmail: $nadawca \n\nWiadomość: \n\n$kontakt_wiadomosc \n\nIP: $client_ip \n\n";
  98. $extra = "From: $nadawca\r\n" . "Reply-To: $nadawca \r\n" . "X-Mailer: PHP/" . phpversion();
  99.  
  100. if( mail( $odbiorca, "Formularz kontaktowy", $email_tresc, $extra ) )
  101. {
  102. echo "wyslano=tak";
  103. }
  104. else
  105. {
  106. echo "wyslano=nie";
  107. }
  108. }

Jak to teraz mogę połączyć z tym wysyłaniem emiali
Go to the top of the page
+Quote Post

Posty w temacie
- brzanek   [JavaScript][PHP][MySQL] Automatyczne wysyłanie wiadomości email po spełnieniu warunków   1.07.2019, 12:49:26
- - rad11   Bo używasz = zamiast == lub ===   1.07.2019, 13:03:46
- - brzanek   Mam coś takiego. [PHP] pobierz, plaintext include...   2.07.2019, 08:05:51
- - com   napisz sobie funkcje do wysyłki tych email i w odp...   2.07.2019, 08:18:08
- - brzanek   To znaczy muszę ją wywołać w każdym miejscu gdzie ...   2.07.2019, 08:40:26
- - com   Po pierwsze nie mieszaj obiektowego mysqli z proce...   2.07.2019, 08:43:30
|- - brzanek   Cytat(com @ 2.07.2019, 09:43:30 ) Po ...   2.07.2019, 08:51:31
- - brzanek   Ok zmieniłem kod do wysyłania na ten [PHP] pobierz...   2.07.2019, 08:45:59
- - com   Bo musisz poprawnie zdefiniować wysyłkę tych email...   2.07.2019, 08:48:26
- - com   tak jak mówiłem zrób z tego funkcje i jako paramet...   2.07.2019, 08:56:57
|- - brzanek   Cytat(com @ 2.07.2019, 09:56:57 ) Ok,...   2.07.2019, 08:59:45
- - com   te id do których porównujesz skąd są pobierane?   2.07.2019, 09:03:18
- - brzanek   id? Chyba wid_miasto. To jest na stałe miejscowość...   2.07.2019, 09:09:59
- - viking   Jeśli dobrze cię rozumiem to zwykłe relacje users:...   2.07.2019, 09:17:55
- - brzanek   a więc tak mam tabelę prognoza w której mam wid_m...   2.07.2019, 09:26:41
- - com   no to pobierz dane z obu tabel w 1 zapytaniu, łącz...   2.07.2019, 09:43:03
- - brzanek   coś takiego? [PHP] pobierz, plaintext $result = $m...   2.07.2019, 09:53:34
- - com   poczytaj o łączeniu tabel np tu Kodhttps://www...   2.07.2019, 09:56:35
- - brzanek   ok czyli coś takiego? [PHP] pobierz, plaintext $re...   2.07.2019, 10:13:20


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: 14.10.2025 - 11:53