Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Wybór maili i wysyłka po wyborze
dudziec
post 17.11.2008, 11:50:45
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.06.2005
Skąd: Knurów

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


Witam serdecznie,
mam taki problem i myśle nad nim juz kilka godzin. Otóż
W bazie danych mam kilkaset e-maili i wyswietla sie wszystko :

  1. <?php
  2. while ($row=mysql_fetch_array($result)) {
  3.                  // tutaj powinien znaleźć się kod który wyświetli dane np. na ekranie
  4.                  $email = $row["email"];
  5. ?>


co zrobic by wybrac z posród powiedzmy 100 maili te które nas interesuja - aby uzytkownik wybrał te ktore chce.
pozniej wysłał do nich wiadomosc.

mam takie cos aktualnie:


  1. <? {  //WYSYŁANIE DO WYBRANYCH
  2.         if($go==wyslijwybrany)
  3.            {
  4.       ?>
  5.       <BR><BR>
  6.        <TABLE border=0 cellPadding=0 cellSpacing=0>
  7.             <TBODY><form action=admin.php3<?echo("?adminpass=$adminpass&adminlogin=$adminlogin&go=wybierzemail");?> method=post>                      
  8.           <TR><TD class=text width=200><B>adres e-mail</B><BR></TD><TD class=text width=10><B>zaznacz</B><BR></TD></TR>
  9.              <?
  10.              $limit=500; // ilość wierszy która ma zostać pobrana
  11.              // połączenie z bazą danych
  12.                  $connection = mysql_connect("$host", "$user", "$password");
  13.  
  14.                  // testowanie połączenia z baza danych
  15.                  if (!$connection) {
  16.                  echo " Niemożliwe połączenie z bazą danych!";
  17.                  exit;
  18.                  }
  19.                  $db = mysql_select_db("$database", $connection);
  20.  
  21.                  // testowanie wyboru bazy danych
  22.                  if (!$db) {
  23.                  echo " Niemożliwe pobranie bazy!";
  24.                  exit;
  25.                  }
  26.                  $numresults=mysql_query("select * from biuletyn_program order by email", $connection);
  27.                  $numrows=mysql_num_rows($numresults);
  28.  
  29.                  // jeżeli skrypt został już wywołany to zmienna $offset=1 inaczej $offset=0
  30.                  if (empty($offset)) {
  31.                  $offset=0;
  32.                  }
  33.  
  34.                  // pobranie zbioru wyników z bazy danych
  35.                  $result=mysql_query("select * from biuletyn_program order by id desc limit $offset,$limit");
  36.  
  37.                  // teraz można wyświetlić zbiór wyników jakie posiad baza danych
  38.                  while ($row=mysql_fetch_array($result)) {
  39.                  // tutaj powinien znaleźć się kod który wyświetli dane np. na ekranie
  40.                  $email = $row["email"];
  41.                  ?>
  42.               <TR><TD class=text width=250><?echo("$email");?></TD><TD class=text width=10><input type=checkbox name=jaki value=<?echo$id?></TD></TR>
  43.                  <?
  44.                  }
  45.                  ?>
  46.               <TR><BR><TD class=text colspan=3 align=right><input type=submit value="Wyślij do  zaznaczonych"></TD></TR>
  47.               </form>
  48.             </TBODY>
  49.            </table>
  50.            <TABLE border=0 cellPadding=0 cellSpacing=0>
  51.             <TBODY>
  52.             <TR><TD align=center>
  53.       <?
  54.             // następnie musimy zrobić linki do pozostałych wyników ktore maj abyc wyswietlone
  55.                  if ($offset!=0) { // ominięcie POPRZEDNI jeżeli offset=0
  56.                  $prevoffset=$offset-$limit;
  57.                  print "<a class=bialy href=\"$PHP_SELF?offset=$prevoffset&&adminpass=$adminpass&adminlogin=$adminlogin&&go=wyslijwybrany\">&laquo;&laquo; wstecz</a> &nbsp; \n";
  58.                  }
  59.  
  60.                  // obliczenie liczby stron które potrzebują linki
  61.                  $pages=intval($numrows/$limit);
  62.  
  63.                  // zmienna $pages zawiera teraz całkowitą liczbę potrzebnych stron
  64.                  if ($numrows%$limit) {
  65.                  // jeżeli występuje reszta z dzielenia to dodajemy jeszcze jedną stronę
  66.                  $pages++;
  67.                  }
  68.  
  69.                  for ($i=1;$i<=$pages;$i++) { // wyswietlenie 1 2 3 4 ...
  70.                  $newoffset=$limit*($i-1);
  71.                  print "<a class=bialy href=\"$PHP_SELF?offset=$newoffset&&adminpass=$adminpass&adminlogin=$adminlogin&&go=wyslijwybrany\">strona $i</a> &nbsp; \n";
  72.                  }
  73.  
  74.                  // sprawdzenie czy bieżąca strona nie jest ostatnią
  75.                  if (!((($offset/$limit)+1)==$pages) && $pages!=1) {
  76.                  // niejest ostatnią stroną więc wyświetl NASTĘPNY
  77.                  $newoffset=$offset+$limit;
  78.                  print "<a class=bialy href=\"$PHP_SELF?offset=$newoffset&&adminpass=$adminpass&adminlogin=$adminlogin&&go=wyslijwybrany\">więcej &raquo;&raquo;</a><p>\n";
  79.                  }
  80.             echo("</td></tr></tbody></table>");
  81.            }
  82.       ?>
  83.        <BR><BR>
  84.        <TABLE border=0 cellPadding=0 cellSpacing=0>
  85.             <TBODY>                      
  86.             </TBODY>
  87.            </table>
  88.       <?
  89.           }
  90.       ?>



Wybieram interesujace mnie maile i dalej co robic? by te wybrane maile były uzywane dalej questionmark.gifquestionmark.gifquestionmark.gif
jak je zapamietac?
Prosze was o Pomoc... dzieki!

Ten post edytował dudziec 17.11.2008, 13:58:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post 5.12.2008, 19:06:37
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zapisuj sobie gdzieś, na które mailem zostały wysłane wiadomości. Przy każdym następnym wywołaniu pomijaj te, które zapisałeś.

Możesz albo poszczególne maile zapisywać (IMHO mało efektywne) albo przy wyciąganiu listy zapisuj sobie pozycję LIMIT 0,50, przy następnym wywołaniu LIMIT 50,50, itp.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 16:27