Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem ze skryptem wysyłania mailów/mysql
Forum PHP.pl > Forum > Gotowe rozwiązania
Feliks
Witam aarambo.gif

mam takie cuś
  1. <?
  2. $query=mysql_query(&#092;"SELECT `email` FROM `email` WHERE `wyslano` = 0\"); 
  3. while($result=mysql_fetch_assoc($query)) 
  4. { 
  5. // tu jakas wysylka 
  6. if(mail($result['email'], $tytul, $zawartosc, $naglowek)) 
  7. { 
  8. // update tabeli 
  9. mysql_query(&#092;"UPDATE email SET `wyslano` = 1 WHERE email='\".$result['email'].\"' \"); 
  10.  
  11. } 
  12. } 
  13. ?>

Kod
skrypt pobiera wartość z bazy mysql mail i wysyła maila + po wysłaniu dodaje do tabeli `wyslano` 1


mam takie coś ale jak zrobić żeby wysyłało tylko do 200 osób i zmieniło u tych 200osub wartość wyslano na '1' gdy wszyscy będą w bazie danych mieli wartość wyslano '1' to automatycznie się zmieni u wszystkich na 0 i od nowa będzie typował skrypt ludzi do których wyśle maila i zmieniał wartość na 1 i do tych ludzi nie będzie wysyłał nic dopóki wszyscy nie dostaną maila smile.gif

mysql'a zaczołem się uczyc od niedawna

mam nadzieję że mi ktoś pomoże rozwiązać ten problemn sad.gif
AIRSKY
  1. <?
  2. $query=mysql_query(&#092;"SELECT `email` FROM `email` ORDER BY `wyslano` ASC LIMIT 200\"); 
  3. while($result=mysql_fetch_assoc($query)) 
  4. { 
  5.   // tu jakas wysylka 
  6.   if(mail($result['email'], $tytul, $zawartosc, $naglowek)) 
  7.   { 
  8.     // update tabeli 
  9.     mysql_query(&#092;"UPDATE email SET `wyslano` = wyslano++ WHERE email='\".$result['email'].\"' \"); 
  10.     
  11.   } 
  12. } 
  13. ?>

To rozwiązania co zaproponowłąem wysyła maila do 200 osób i dodaje jeden do pola wysłano.. moim zdaniem takie rozwiazanie jest lepsze bo jezeli zdazy sie ze np bedzie tylko 50 osób które maja w wyslano=0 a ty bedziesz chciał wysłać maile do 200 osób to co wtedy... a tak to wysyła zawsze to osób które mają w tych polach najmniejszą wartosc
Feliks
kurcie

wyskakuje mi błąd jakiś blink.gif
Kod
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\usr\krasnal\www\aaa\firm\pages\config.php on line 44

czyli w lini gdzie się znajduje błąd
mysql_query("UPDATE email SET `wyslano` = wyslano++ WHERE email='\".$result['email']."' "); [QUOTE]

i tak przyokazji - muszą być tylko dwie wartości 0 i 1 poniewasz jeśli jeden użytkownik zarejestrował się dwa tygodnie temu i miał na swoim koncie już np. 5 maili i jeśli kowaliski się zarejestrował dwatygodnie po nim to on będzie dostawał maile asz dopuki będze miał wartość tego gościa co się zarejestroiwał dwa tygodnie temu................

a mi chodzi o coś takiego

czyli po wysłaniu maila zmieniał wartośc 0 na 1 i dotego goście nic niebędze wysyłał skrypt asz do puki wszystcy niebędą mieli w bazie danych wartości 1 a gdy wszystcy będą mieli tą wartośc to automatycznie skrypt zmieni u wszystkich zarejestrowanych użytkownikach wartośc 1 na 0 i od nowa będze typował kto ma dostać maila....

i tak przyokazji AIRSKY dzięki że prubowałeś mi pomuc smile.gif
i sory za błędy ort spieszyło mi się....

[dopisane]
no dobra coś tam wykombinuje
może mi ktoś momoze w czymś takim - czyli zrobic pentle w której jeden mail wyśle skrypt i UPDATATUJE tabele `wysłano` na 1 i dzięki tej pentli która będze się 200 razy uruchamiać smile.gif tylko niebardzo wiem jak to zrobic worriedsmiley.gif
bo ten skrypt powyżej
  1. <?php
  2.     // update tabeli 
  3.     mysql_query(&#092;"UPDATE email SET `wyslano` = 1 WHERE email='\".$result['email'].\"' \");
  4. ?>

Updatuje wszystkie wartości............
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.