如何从 MySQL 数据库中的表的列中导出 .txt 文件?

Posted

技术标签:

【中文标题】如何从 MySQL 数据库中的表的列中导出 .txt 文件?【英文标题】:How to export a .txt file from a column of a table in MySQL database? 【发布时间】:2020-09-30 23:17:02 【问题描述】:

我想逐行导出 .txt 格式的电话号码。表名是customers 列名是customer_contact_numbers 来自数据库saiautocare 我使用的是Laravel 框架、JQuery 和mysql 数据库。

当我单击该按钮时,它会询问我将文件保存在哪里并将数字逐行导出到文本文件中。

代码如下:

      <div class="col-sm-6 col-lg-3">
    <div class="card text-white bg-primary">
      <div class="card-body pb-0">
        <div class="btn-group float-right">
          <button type="button" class="btn btn-transparent dropdown-toggle p-0" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <i class="icon-settings"></i>
          </button>
          <div class="dropdown-menu dropdown-menu-right">
            <a class="dropdown-item" href="#">Export to TXT</a>
          </div>
        </div>
        <h4 class="mb-0"> $TotalCustomers </h4> 
        <p>Marketing Numbers</p>
      </div>
      <div class="chart-wrapper px-3" style="height:70px;">
        <canvas id="card-chart1" class="chart" ></canvas>
      </div>
    </div>
  </div>

我是 php 和 MySQL 的新手,如果我不能提供所有必需的信息,我很抱歉。

【问题讨论】:

【参考方案1】:
$customers = Customer::all();
$phoneNumbers = "Phone numbers \n";
foreach ($customers as  $customer) 
  $content .= $customer->customer_contact_numbers;
  $content .= "\n";


// file name to download
$fileName = "contact_numbers.txt";

// make a response, with the content, a 200 response code and the headers
return Response::make($content, 200, [
  'Content-type' => 'text/plain', 
  'Content-Disposition' => sprintf('attachment; filename="%s"', $fileName),
  'Content-Length' => sizeof($content)
];);

【讨论】:

还有一个问题,我是否应该添加一个新的 PHP 文件并将其添加到 href "#" 中。然后将该代码粘贴到新创建的 PHP 文件中。有什么方法可以在不创建新页面的情况下做到这一点? 您只需将此代码放入您的控制器并设置一些路由,然后通过此路由进入href。用户点击后它会调用你的控制器方法并开始下载一个txt文件 如果您能详细说明,我将非常感谢兄弟。我已经使用了这个 GitHub 项目:github.com/AshutoshChoubey/SaiAutoCare 我是 PHP 新手,如果打扰到您,请见谅 :)

以上是关于如何从 MySQL 数据库中的表的列中导出 .txt 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何从phpmyadmin中的数据库中的特定表中导出特定列

mysql-视图

如何从一个表中过滤出其 id 出现在另一个表的列中的记录

怎样在MySQL数据库中导出整个数据库

从非常大的表中导出逗号分隔的数据

如何从Navicat for MySQL数据库中导出已经建好的数据库表,这样导出的要能再别的地方直接导入能用的,谢谢