Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL][Wysyłanie mailem rekordów z tabeli
Forum PHP.pl > Forum > Przedszkole
narki1
Witam
Chciałbym pobrać dane z tabeli mysql i wyłać je mailem przy pomocy PHPmailer.
  1. <?php
  2. $sql = "SELECT * FROM `tabela` WHERE `id` LIKE '".$id."'";
  3. $result = @mysql_query($sql, $link);
  4. $idm=mysql_num_rows($result);
  5. $row = mysql_fetch_row($result);
  6.  
  7. require("class.phpmailer.php");
  8. $mail = new PHPMailer();
  9. $mail->IsSMTP();                                    
  10. $mail->Host = "localhost";
  11. $mail->SMTPAuth = true;    
  12. $mail->Username = "user";  
  13. $mail->Password = "passw";
  14. $mail->From = "mail@pl.pl";
  15. $mail->AddAddress("mail@pl.pl");
  16. $mail->WordWrap = 50;                      
  17. $mail->IsHTML(true);  
  18. $mail->Subject = 'temat';
  19. $mail->Body    = '<html>
  20. <head>
  21.   <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  22. </head>
  23. <body>
  24.  <table>
  25.    //tu chciałbym wstawić wynik poniższego kodu:
  26.  </table>
  27. </body>
  28. </html>';
  29. $mail->Send();
  30. ?>

kod:
  1. <?php
  2. while ($wiersz = mysql_fetch_row($result))
  3. {
  4. print '<tr><td>'.$wiersz[0].'</td><td>'.$wiersz[1].'</td><td>'.$wiersz[2].'</td></tr>';
  5. }
  6. ?>


Nie wiem jak to zrobić. Sprawę utrudnia fakt ,że za każdym razem mogę mieć inną liczbę wierszy.
nospor
zamiast robic print przypisz (dopisz) poprostu do zmiennej
narki1
Czyli ? wstydnis.gif
próbowałem kombinacji w tym stylu ale nie idzie
  1. <?php
  2. $mail->Body    = '<html>
  3. <head>
  4.  <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  5. </head>
  6. <body>
  7. <table>
  8. '.
  9.    while ($wiersz = mysql_fetch_row($result))
  10. {
  11. .'<tr><td>'.$wiersz[0].'</td><td>'.$wiersz[1].'</td><td>'.$wiersz[2].'</td>
  12. }
  13.    
  14.    
  15. </table>
  16. </body>
  17. </html>';
  18. $mail->Send();
  19. ?>
hondek
Cytat
zamiast robic print przypisz (dopisz) poprostu do zmiennej
to znaczy zamiast
  1. <?php
  2. print ''.$wiersz[0].''.$wiersz[1].''.$wiersz[2].'';
  3. ?>

daj
  1. <?php
  2. $zmienna .= ''.$wiersz[0].''.$wiersz[1].''.$wiersz[2].'';
  3. ?>

a potem $zmienna dodaj do body maila.
narki1
Robię tak:
  1. <?php
  2. $mail->Body    = '<html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  5. </head>
  6. <body>
  7. <table>
  8. '.
  9.   while ($wiersz = mysql_fetch_row($result))
  10. {
  11. $zmienna .= ''.$wiersz[0].''.$wiersz[1].''.$wiersz[2].'';
  12. }
  13. .'    
  14. </table>
  15. </body>
  16. </html>';
  17. $mail->Send();
  18. ?>

Nadal nie działa. Chyba mam coś nie tak z cudzysłowami czy cuś sadsmiley02.gif
nospor
zamiast strzelac na slepo, to usiądź na spokojnie i zastanow sie co ty wypisujesz....

  1. <?php
  2. $zmienna = '';
  3.  while ($wiersz = mysql_fetch_row($result))
  4. {
  5. $zmienna .= ''.$wiersz[0].''.$wiersz[1].''.$wiersz[2].'';
  6. }
  7.  
  8. $mail->Body    = '<html>
  9. <head>
  10. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  11. </head>
  12. <body>
  13. <table>
  14. '.
  15. $zmienna
  16. .'
  17. </table>
  18. </body>
  19. </html>';
  20. $mail->Send();
  21. ?>
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.