Witam,
mam taki problem. W bazie danych mam 2 tabelki, jedna to userzy, a druga to mailing. Problem polega na tym, że chcę aby po klinknięciu w opcję masowy mailing można było wysyłać wiadomości do wybranych lub wszystkich osób z tabelki userzy.
W tabeli userzy są dane takie jak:
id, unick, upass, ulevel, uaktywny, uemail, uklucz i udata_dodania.
W tabeli mailing mam dane:
id, tytul, data_dodania, tekst.
Teraz 2 pliki odpowiadają za masowy mailing:
mailing.php:
  1. <?
  2.  
  3. $akcja2 = $_GET['akcja2'] ;
  4. $lang_id = $_SESSION['lang_id'] ;
  5. if( $lang_id == 0 ) $lang_id = 1 ;
  6.  
  7. $javascript[] = 'js/common.js' ;
  8. $javascript[] = 'js/tiny_mce/tiny_mce.js' ;
  9. $javascript[] = 'js/tiny.js' ;
  10.  
  11. $smarty->assign( array(
  12. 'js' => $javascript,
  13. 'js_before_load' => 'tinymce_set( '.$lang_id.', 1 ) ; ',
  14. 'js_onload' => 'ustaw_tiny() ;'
  15.  
  16. )) ;
  17.  
  18. $submenu2[] = array( 'url' => 'index.php?adm_id='.$adm_id.'&akcja2=new', 'mtekst' => 'Nowy element', 'opis' => 'Nowa wiadomość dla użytkowników' ) ;
  19.  
  20.  
  21. $smarty->assign( 'submenu2', $submenu2 ) ;
  22. $modul = new Module( 'mailing', $smarty ) ;
  23.  
  24. $page = $_GET['page'] + 0 ;
  25. $smarty->Assign( 'page', $page ) ;
  26.  
  27.  
  28. if( empty( $akcja2 ) ) {
  29. $params['order'] = ' order by id desc ' ;
  30. $modul->limit( 10 ) ;
  31. $modul->list_el( $params ) ;
  32. }
  33. elseif( $akcja2 == 'new' ) {
  34. $modul->new_el() ;
  35. }
  36. elseif( $akcja2 == 'edit' ) {
  37. $id = $_GET['id'] + 0 ;
  38. $modul->edit_el( $id ) ;
  39. }
  40. elseif( $akcja2 == 'show' ) {
  41. $id = $_GET['id'] + 0 ;
  42. $baza->Query( "select * from ".$prefix."mailing where id = '$id'" ) ;
  43. $row = $baza->get_array() ;
  44.  
  45. $smarty->assign( $row ) ;
  46. $smarty->assign( 'tresc', $smarty->fetch( 'admin/modules/mailing/show_mailing.tpl') ) ;
  47. }
  48. elseif( $akcja2 == 'save' ) {
  49. $do = $_POST['do'] ;
  50. unset( $_POST['do'] ) ;
  51.  
  52. if( empty( $_POST['id'] )) $_POST['data_dodania'] = date( 'Y-m-d H:i:s' ) ;
  53. $modul->save_el() ;
  54.  
  55. if( $do == 'inside' )
  56. $baza->query( "select uemail from ".$prefix."userzy where ulevel = 'firma'" ) ;
  57. else
  58. $baza->query( "select email as uemail from ".$prefix."newsletter" ) ;
  59.  
  60. include( '../engine/class.phpmailer.php' ) ;
  61. while( $row = $baza->get_array() ) {
  62. if( empty( $row['uemail'] )) continue ;
  63. $email = $row['uemail'] ;
  64. $subject = $_POST['tytul'] ;
  65. $body = $_POST['tekst'] ;
  66. wyslij_maila( $email, $subject, $body ) ;
  67. }
  68. // echo mysql_error() ;
  69.  
  70. header( "Location: index.php?adm_id=$adm_id" ) ;
  71. exit() ;
  72. }
  73. elseif( $akcja2 == 'del' ) {
  74. $id = $_GET['id'] + 0 ;
  75. $modul->del_el( $id ) ;
  76. header( "Location: index.php?adm_id=$adm_id" ) ;
  77. exit() ;
  78. }
  79. elseif( $akcja2 == 'widoczny' ) {
  80. $id = $_GET['id'] + 0 ;
  81. $baza->query( "update ".$prefix."aktualnosci set widoczny = 1 - widoczny where id = '$id'" ) ;
  82.  
  83. header( "Location: index.php?adm_id=$adm_id" ) ;
  84. exit() ;
  85. }
  86. ?>

oraz edit_mailing.tpl:
  1. <h3>Edycja mailingu</h3>
  2. <form class="edit" action="index.php?adm_id={$adm_id}&akcja2=save" method="post">
  3. <input type="hidden" name="id" value="{$id}" />
  4. <label for="tnazwa">Tytuł:</label><input size="45" type="text" name="tytul" value="{$tytul}" /><br/>
  5. <label for="do">Do:</label><select name="do"><option value="inside">wszystkich użytkowników</option><option value="outside">zapisanych do newslettera</option></select>
  6. <label for="tnazwa">Treść wiadomości:</label><textarea cols="80" rows="8" id="textar" name="tekst">{$tekst}</textarea><br/>
  7.  
  8. <input type="submit" value="zapisz" />
  9. <input type="submit" value="wyślij" />
  10. <br style="clear: both;"/>
  11. </form>

Teraz moje pytanie jak mam to połączyć, aby wysyłało także do wybranych osób bo próbowałam już wielu rzeczy nic nie wychodzi. Proszę bardzo o pomoc.
I jeszcze treść wysyła się bez obrazków. Czy z tym też coś można zrobić?