Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] System Newsletter'o - podobny, Skrypt wysyłający do użytkownika maile z bazy codziennie po jednym.
ponciusz
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 1.04.2006

Ostrzeżenie: (10%)
X----


Witam!
Szukam rozwiązania do systemu który wysyła maile do użytkowników po ich dodaniu przeze mnie. Dokładnie chodzi o to żemam powiedzmy 30 maili które już są gotowe gdzieś w bazie, każda osoba którą wprowadze do systemu będzie dokładnie od tego dnia dostawać 1 mail codziennie (tak przez 30 dni), więc nie jest to typowy newsletter w którym każdy dostaje tego samego maila codziennie. Czy takie gotowe rozwiązanie istnieje już w sieci?? jeśli nie to proszę o podanie głownego schematu jak miało by to działac i z których funkcjii php i msql musiałbym skożystać aby napisać taki sktypt. posiadam podstawowe umiejętności programowania w PHP.
Pozdrawiam!
Go to the top of the page
+Quote Post
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Schemat nie jest trudny. Jeżeli masz cron-a dodajesz zadania wysyłki emaila. A wysyłkę newsletter możesz zrobić poprzez phpmailer. Gotowa klasa i możesz znaleźć dużo przykładów.

Ten post edytował potreb 21.01.2012, 13:40:49
Go to the top of the page
+Quote Post
ponciusz
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 1.04.2006

Ostrzeżenie: (10%)
X----


Napisałem taki oto skrypt który będzie zwiększał dane w komórce o 1 ale nie dziala. wszystko wygląda w porządku baza danych ma kolumny: id mail phone nr. te ostatnie pole chce zwiększać o 1 po każdym odpaleniu skryptu, ustawiłem już crona oraz mailera w php więc teraz musze tylko dopracować ten skrypt. nie wiem dlaczego nie zwiększa wartości pola zapytanie jest raczej poprawne bo kiedy wpisuje je w php myadmin to zwieksza

  1. <?
  2. $username="login";
  3. $password="pass";
  4. $database="baza danych";
  5.  
  6. mysql_connect('localhost',$username,$password);
  7. @mysql_select_db($database) or die("Nie odnaleziono bazy danych");
  8.  
  9. $query="SELECT * FROM test";
  10. $result=mysql_query($query);
  11. $num=mysql_numrows($result);
  12.  
  13.  
  14. $i=0; //wartość startowa pętli
  15. while ($i < $num) { // pętla powtarza się tyle razy ile jest wierszy
  16. echo "<b>krok $i</b><br>"; //wyświetla krok
  17. $numer=mysql_result($result,$i,"nr"); //wczytanie wartości nr z bazy danych
  18. mysql_query($numer); //wywołanie zapytania
  19.  
  20. $numerpo=$numer+1; // zwiększenie wartości nr
  21.  
  22. echo "Aktualny numer w komórce: <b>$numer</b> <br>"; //akrualny nr
  23. $zmiana="UPDATE test SET nr='$numerpo' WHERE id='$i'"; //zapytanie powodujące zwiększenie wartosci nr
  24.  
  25. echo "$zmiana<br>"; //wyświetlenie zapytania
  26. mysql_query($zmiana); //wywołanie zapytania
  27. $i++; //zwiększenie zmiennej i
  28. } // koniec pętli
  29. mysql_close(); //zamykanie bazy
  30. ?>


Taki skrypt juz działa więc nie wiem w czym tkwi problem

  1. <?
  2. $username="user";
  3. $password="pass";
  4. $database="baza";
  5.  
  6. mysql_connect('localhost',$username,$password);
  7. @mysql_select_db($database) or die("Nie odnaleziono bazy danych");
  8.  
  9. $query="SELECT * FROM test";
  10. $result=mysql_query($query);
  11.  
  12. $zmiana="UPDATE test SET nr='555' WHERE id='1'"; //zmiana wartosci
  13. mysql_query($zmiana); //wywołanie zapytania
  14.  
  15. mysql_close(); //zamykanie bazy
  16. ?>
Go to the top of the page
+Quote Post
17misiek09
post
Post #4





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

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


  1. $zmiana="UPDATE test SET nr='$numerpo' WHERE id='$i'";


zmien na

  1. $zmiana="UPDATE test SET nr='$numer+1' WHERE id='$i'";


powinno byc
Go to the top of the page
+Quote Post
ponciusz
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 1.04.2006

Ostrzeżenie: (10%)
X----


Twoje rozwiązanie nie działa wyświetla sie string. Doszedłem do tego jak to naprawić, podaje gotowy skrypt:

  1. <?
  2. $username="user";
  3. $password="pass";
  4. $database="baza";
  5.  
  6. mysql_connect('localhost',$username,$password);
  7. @mysql_select_db($database) or die("Nie odnaleziono bazy danych");
  8.  
  9. $query="SELECT * FROM test";
  10. $result=mysql_query($query);
  11. $num=mysql_numrows($result);
  12.  
  13.  
  14. $i=0; //wartość startowa pętli
  15. while ($i < $num) { // pętla powtarza się tyle razy ile jest wierszy
  16. $numer=mysql_result($result,$i,"nr"); //wczytanie wartości nr z bazy danych
  17. mysql_query($numer); //wywołanie zapytania
  18. $id_wart=$i+1;
  19. $numer_add=$numer+1;
  20. $zmiana="UPDATE testSET nr='$numer_add' WHERE id='$id_wart'"; //zapytanie powodujące zwiększenie wartosci nr
  21. // echo "$zmiana<br>"; //wyświetlenie zapytania
  22. mysql_query($zmiana); //wywołanie zapytania
  23. echo "<b>krok $i: </b>Aktualny numer w komórce: <b>$numer</b> zmieniony na: <b>$numer_add</b> <br>"; //akrualny nr
  24. $i++; //zwiększenie zmiennej i
  25. } // koniec pętli
  26. mysql_close(); //zamykanie bazy
  27. ?>


Ten post edytował ponciusz 30.01.2012, 20:37:53
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: 23.08.2025 - 02:20