Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] PW wysyłanie masowych wiadomości
Nikk
post 20.12.2014, 21:55:08
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 15.05.2014

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


Hej,
Nie wiem jak napisać skrypt który bedzie wysyłał wiadomości do wszystkich użytkowników w bazie, na razie zrobiłem taki kod ale nie działa. Brakuje mi pomysłu "Jak to zrobić". Proszę o pomoc/mała porade
  1. while(mysql_fetch_array("SELECT `login` FROM `User`"))
  2. {
  3. $i=0;
  4. $row=mysql_fetch_array("SELECT `login` FROM `User`");
  5. $do=$row[$i];
  6. $i++;
  7. mysql_query("INSERT INTO wiadomosci SET wiad_od='$login', wiad_do='$do', wiad_temat='$temat', wiad_tresc='$tresc', wiad_data='$data', wiad_przeczytane='0' ");
  8. echo '</br></br>Wysłano wiadomość</br>';
  9. }


Ten post edytował Nikk 20.12.2014, 21:56:26
Go to the top of the page
+Quote Post
Rysh
post 20.12.2014, 22:00:56
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Najpierw poberasz id wszystkich użytkowników, następnie tworzysz jeden wielki INSERT i tyle.


--------------------
Go to the top of the page
+Quote Post
Nikk
post 21.12.2014, 14:32:57
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 15.05.2014

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


Napisałem taki kod, dziękuje za pomoc
  1. $zap=mysql_query("SELECT login FROM `User` ");
  2. while($row=mysql_fetch_assoc($zap))
  3. {
  4. mysql_query("INSERT INTO XXXXX aa='".$row['login']."' XXXX ");
  5. }


Ten post edytował Nikk 21.12.2014, 14:36:47
Go to the top of the page
+Quote Post
Rysh
post 21.12.2014, 14:39:18
Post #4





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Cytat(Nikk @ 21.12.2014, 14:32:57 ) *
Napisałem taki kod, dziękuje za pomoc
  1. $zap=mysql_query("SELECT login FROM `User` ");
  2. while($row=mysql_fetch_assoc($zap))
  3. {
  4. mysql_query("INSERT INTO XXXXX aa='".$row['login']."' XXXX ");
  5. }

Tylko taki kod nie jest w ogóle optymalny. W takim przypadku zrobisz tyle zapytań do bazy ile masz użytkowników, natomiast możesz to ograniczyć do kilku zapytań, gdzie skrypt wykona się o wiele szybciej.


--------------------
Go to the top of the page
+Quote Post
viking
post 21.12.2014, 14:41:28
Post #5





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


http://dev.mysql.com/doc/refman/5.0/en/insert-select.html pewnie cię też zainteresuje


--------------------
Go to the top of the page
+Quote Post
Nikk
post 21.12.2014, 15:40:11
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 15.05.2014

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


Dzięki za pomoc udało się, nie wiedziałem że nastapiły takie zmiany w zapytaniach sql w php od wersji 4.0( nowe/udoskonalone zapytania bardzo ułatwiają pracę z bazą) . Moje zapytanie
  1. INSERT INTO wiadomosci (tel_od, tel_do, tel_temat, tel_tresc, tel_read) SELECT 'nikk', login, 'tematt', 'tresc', '0' FROM User


Ten post edytował Nikk 21.12.2014, 15:41:22
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 14:52