Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将查询导出为csv需要改进_Php_Mysql_Csv - Fatal编程技术网

Php 将查询导出为csv需要改进

Php 将查询导出为csv需要改进,php,mysql,csv,Php,Mysql,Csv,我正在构建一个代码,它可以帮助我检索查询并将其像csv一样导出,这一切都很好,但id所做的是,如果我转到/query.php,它会立即下载csv文件,而我希望单击以下载它 你能帮我做这个吗 这是密码 $query = sprintf( 'SELECT * FROM hostess' ); $result = mysql_query( $query, $conn ) or die( mysql_error( $conn ) ); header( 'Content-Type: text

我正在构建一个代码,它可以帮助我检索查询并将其像csv一样导出,这一切都很好,但id所做的是,如果我转到/query.php,它会立即下载csv文件,而我希望单击以下载它

你能帮我做这个吗

这是密码

  $query = sprintf( 'SELECT * FROM hostess' );
  $result = mysql_query( $query, $conn ) or die( mysql_error( $conn ) );

  header( 'Content-Type: text/csv' );
  header( 'Content-Disposition: attachment;filename=export.csv' );

  $row = mysql_fetch_assoc( $result );
  if ( $row )
  {
    echocsv( array_keys( $row ) );
  }

  while ( $row )
  {
    echocsv( $row );
    $row = mysql_fetch_assoc( $result );
  }

  function echocsv( $fields )
  {
    $separator = '';
    foreach ( $fields as $field )
    {
      if ( preg_match( '/\\r|\\n|,|"/', $field ) )
      {
        $field = '"' . str_replace( '"', '""', $field ) . '"';
      }
      echo $separator . $field;
      $separator = ',';
    }
    echo "\r\n";
  }
?>

设置另一个带有链接的页面。这样,您就可以从任何页面链接到CSV文件。

使用该链接设置另一个页面。这样,您就可以从任何页面链接到CSV文件。

创建一个包含CSV生成脚本链接的页面

编辑 您可以创建一个简单的HTML表单,使用查询字符串将参数传递给CSV脚本。例如:

<form action="export.php" method="get" target="_blank">
    <input type="text" name="param1">
    <input type="text" name="param2">
    ...
    <input type="submit">
</form>

提交表单时,它将请求导出页面传递查询字符串中的参数(例如export.php?param1=foo¶m2=bar)。脚本将发送一个CSV文件。将在表单上添加
target=\u blank
属性,以便在新选项卡/窗口中加载CSV文件。

创建一个包含指向CSV生成脚本的链接的页面

编辑 您可以创建一个简单的HTML表单,使用查询字符串将参数传递给CSV脚本。例如:

<form action="export.php" method="get" target="_blank">
    <input type="text" name="param1">
    <input type="text" name="param2">
    ...
    <input type="submit">
</form>

提交表单时,它将请求导出页面传递查询字符串中的参数(例如export.php?param1=foo¶m2=bar)。脚本将发送一个CSV文件。
target=\u blank
属性被添加到表单上,以便CSV文件被加载到一个新的选项卡/窗口中。

是的,当然可以,但在查询中我需要插入一个从表单中获取的变量,这意味着我需要这样做:选择$checked from hostess等。。我从某处得到的选中变量..使用HTML表单。然后使用
$\u GET('whatever')
访问变量。嘿,好吧,但是如果我链接csv文件,我如何才能下载该文件。。不是立即..@GazetaAlmedicus:您可以制作一个表单并将所需内容发布到该链接。您必须在新页面中制作一个表单,允许用户输入变量。然后,使表单的“action”属性等于PHP的URL。使用tutorial。是的,当然可以,但是在查询中我需要插入一个从表单中获取的变量,这意味着我需要这样做:选择$checked from hostess等等。。我从某处得到的选中变量..使用HTML表单。然后使用
$\u GET('whatever')
访问变量。嘿,好吧,但是如果我链接csv文件,我如何才能下载该文件。。不是立即..@GazetaAlmedicus:您可以制作一个表单并将所需内容发布到该链接。您必须在新页面中制作一个表单,允许用户输入变量。然后,使表单的“action”属性等于PHP的URL。使用教程。这个脚本不是我制作的,在线阅读我找到了解决方案。@SalmanA哈哈!我只是查了一下。有趣……这个脚本不是我制作的,在网上阅读我找到了解决方案。@SalmanA哈哈!我只是查了一下。有趣的是,…+1当你写问题中的脚本时,你肯定会得到这个答案。+1当你写问题中的脚本时,你肯定会得到这个答案。