Отправка базы данных на почту или загрузка в txt

153
07 октября 2019, 11:50

Пытаюсь по нажатию на кпопку сделать отправку базы данных на почту, но в итоге приходит некоректное письмо!

$('button').click(function(){ 
  $.ajax({ 
            type: "POST", 
            url: '../loadtxt.php', 
            cache: false, 
            success: function () { 
                console.log('good'); 
  
             }, 
             error:function(respond){ 
                console.log('bad'); 
             } 
        }); 
}); 
 
//PHP 
 
<?php 
 
  
  $connect_to_db = mysql_connect($db_host, $db_username, $db_password) 
  or die("Could not connect: " . mysql_error()); 
  
  mysql_select_db($db_name, $connect_to_db) 
  or die("Could not select DB: " . mysql_error()); 
 
$method = $_SERVER['REQUEST_METHOD']; 
$c = true; 
 
 $ss = mysql_query("SELECT * FROM commenduser"); 
 echo json_encode($ss); 
while ($d = mysql_fetch_array($ss)){ 
//гененрируем письмо 
$subject = "Коментарии";  
$from = "xxx@gmail.com"; 
$to = "xxx@gmail.com"; 
$message ="Сообщения";  
 
$boundary = "--".md5(uniqid(time()));  
$headers = "MIME-Version: 1.0;\r\n";  
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";  
$headers .= "From: info@site.ru "; 
$headers .= "Reply-To: " . $from . "\r\n"; 
$headers .= "Content-type: text/html; charset=\"utf-8\";" . "\r\n"; 
 
$arr = mysql_fetch_array($ss); 
 
 
foreach ( $arr as $key => $value ) { 
    if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" ) { 
        $multipart .= " 
        " . ( ($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">' ) . " 
            <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td> 
            <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td> 
        </tr> 
        "; 
    } 
} 
 
mail($to,$subject,$multipart,$headers); 
 } 
?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<button>send</button>

В итоге на почте получаю такое:

 <tr style="background-color: #f8f8f8;">
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>id</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>5c63eba6bc584</td>
    </tr>
    <tr>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>1</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>0</td>
    </tr>
    <tr style="background-color: #f8f8f8;">
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>type</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>0</td>
    </tr>
    <tr>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>2</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>test</td>
    </tr>
    <tr style="background-color: #f8f8f8;">
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>name</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>test</td>
    </tr>
    <tr>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>3</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>test@mail.com</td>
    </tr>
    <tr style="background-color: #f8f8f8;">
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>mail</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>test@mail.com</td>
    </tr>
    <tr>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>4</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>28834734</td>
    </tr>
    <tr style="background-color: #f8f8f8;">
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>phone</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>28834734</td>
    </tr>
    <tr>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>5</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>5</td>
    </tr>
    <tr style="background-color: #f8f8f8;">
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>rating</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>5</td>
    </tr>
    <tr>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>6</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>commend</td>
    </tr>
    <tr style="background-color: #f8f8f8;">
        <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>commend</b></td>
        <td style='padding: 10px; border: #e9e9e9 1px solid;'>commend</td>
    </tr>
Answer 1

это псевдокод на основании твоего, проверь, если не работает как надо покажи print_r($arr); и переведи код на mysqli_query (лучше pdo)

$('button').click(function(){
  $.ajax({
            type: "POST",
            url: '../loadtxt.php',
            cache: false,
            success: function () {
                console.log('good');
             },
             error:function(respond){
                console.log('bad');
             }
        });
});

  $connect_to_db = mysql_connect($db_host, $db_username, $db_password)
  or die("Could not connect: " . mysql_error());
  mysql_select_db($db_name, $connect_to_db)
  or die("Could not select DB: " . mysql_error());
$method = $_SERVER['REQUEST_METHOD'];
$c = true;
 $ss = mysql_query("SELECT * FROM commenduser");
 echo json_encode($ss);
$multipart = '';
foreach ( $arr as $key => $value ) {
    if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" ) {
        $multipart .= "
        " . ( ($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">' ) . "
            <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
            <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
        </tr>
        ";
    }
}
unset($key,$value);
//гененрируем письмо
$subject = "Коментарии"; 
$from = "xxx@gmail.com";
$to = "xxx@gmail.com";
$message ="Сообщения"; 
$boundary = "--".md5(uniqid(time())); 
$headers = "MIME-Version: 1.0;\r\n"; 
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n"; 
$headers .= "From: info@site.ru ";
$headers .= "Reply-To: " . $from . "\r\n";
$headers .= "Content-type: text/html; charset=\"utf-8\";" . "\r\n";
//------------------
mail($to,$subject,$multipart,$headers);//тут отправит таблицу
READ ALSO
Подмена URL в HTACCESS по REQUEST параметрам

Подмена URL в HTACCESS по REQUEST параметрам

Пример на js Наша ссылка для примера: http://examplecom/name-razdel/?module=shop&action=search&cat_id=0&a=&pr1=0&pr2=100&brand%5B%5D=22

130
Присвоить переменную

Присвоить переменную

мне нужно вот этому <input id="4"type="text" name="numstat"> присвоить значение вот этого $PoleCauseID

138
Как передать параметр к get-запросу

Как передать параметр к get-запросу

Собственно, у меня есть код, который должен вернуть кол-во юзеров, состоящих в группах в определенном daterangeКак мне создать параметры start_date...

160