- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试创建一个制表符分隔的文件输出,我可以使用它来加载到 quickbooks 中。我在 header 上使用以下代码。
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=\"my-data.txt\"");
我有两个问题。
首先是一些内容是文本,但其中有一个逗号 ,
(这就是我使用制表符分隔的原因。SQL(友善地)为我在这些字段周围放置了“”,然后将其传输到文本文件,然后再传输到帐户包中。我看不出如何阻止 SQL 这样做或如何将其从文本文件的内容中删除。
其次,脚本中的第一个输出是一个回显语句,后跟一个制表符等;然而,实际输出在开头包含一个额外的行(我可以看到插入了一个 ASCII 0A)我看不出这是从哪里来的?
我附上了我正在使用的代码,以防我遗漏一些明显的东西。
帮助
非常感谢
<?php
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=\"my-data.txt\"");
// Open standard includes
include ('./includes/protect.php'); //User name and password control
require_once('Connections/Dragonnet.php');
mysql_select_db($database_Dragonnet, $Dragonnet); //Connect to database
?>
<?php
$batch1 = $_GET["batch1"];
$batch2 = $_GET["batch2"];
$query = "SELECT invtrans.StdInvNar1 AS 'invtrans StdInvNar1',
invtrans.StdInvNar2 AS 'invtrans StdInvNar2',
invtrans.StdInvNar3 AS 'invtrans StdInvNar3',
invtrans.StdInvNar4 AS 'invtrans StdInvNar4',
invtrans.StdInvNar5 AS 'invtrans StdInvNar5',
invtrans.StdInvNar6 AS 'invtrans StdInvNar6',
invtrans.StdInvNar7 AS 'invtrans StdInvNar7',
invtrans.StdInvNar8 AS 'invtrans StdInvNar8',
invtrans.StdInvNar9 AS 'invtrans StdInvNar9',
invtrans.StdInvNar10 AS 'invtrans StdInvNar10',
invtrans.InvNar1 AS 'invtrans InvNar1',
invtrans.InvNar2 AS 'invtrans InvNar2',
invtrans.InvNar3 AS 'invtrans InvNar3',
invtrans.InvNar4 AS 'invtrans InvNar4',
invtrans.InvNar5 AS 'invtrans InvNar5',
invtrans.InvNar6 AS 'invtrans InvNar6',
invtrans.InvNar7 AS 'invtrans InvNar7',
invtrans.InvNar8 AS 'invtrans InvNar8',
invtrans.InvNar9 AS 'invtrans InvNar9',
invtrans.InvNar10 AS 'invtrans InvNar10',
invtrans.Charge AS 'invtrans Charge',
invtrans.Cost AS 'invtrans Cost',
invtrans.VATtype AS 'invtrans VATtype',
invtrans.VATRate AS 'invtrans VATRate',
invtrans.SiteName AS 'invtrans SiteName',
invtrans.SiteTown AS 'invtrans SiteTown',
invtrans.UnitPrice AS 'invtrans UnitPrice',
invtrans.Type AS 'invtrans Type',
invtrans.InvBatch AS 'invtrans InvBatch',
invoiceheaders.Name AS 'invoiceheaders Name',
invoiceheaders.Addr1 AS 'invoiceheaders Addr1',
invoiceheaders.Addr2 AS 'invoiceheaders Addr2',
invoiceheaders.Addr3 AS 'invoiceheaders Addr3',
invoiceheaders.Town AS 'invoiceheaders Town',
invoiceheaders.County AS 'invoiceheaders County',
invoiceheaders.Country AS 'invoiceheaders Country',
invoiceheaders.PostCode AS 'invoiceheaders PostCode',
invoiceheaders.EMail AS 'invoiceheaders EMail',
invoiceheaders.Fax AS 'invoiceheaders Fax',
invoiceheaders.InvNo AS 'invoiceheaders InvNo',
invoiceheaders.InvDate AS 'invoiceheaders InvDate',
invoiceheaders.InvType AS 'invoiceheaders InvType',
invoiceheaders.DelType AS 'invoiceheaders DelType'
FROM (invtrans invtrans
INNER JOIN invoiceheaders invoiceheaders ON (invoiceheaders.InvNo = invtrans.InvNumber ))
WHERE
(
invtrans.InvBatch = "."'".$batch1."'"." OR invtrans.InvBatch = "."'".$batch2."'"." )
ORDER BY invoiceheaders.InvNo
";
$result = mysql_query($query) or die(mysql_error());
//Create Headers
echo "Customer Ref";
echo chr(9);
echo "Account Ref";
echo chr(9);
echo "TxnDate";
echo chr(9);
echo "Invoice No";
echo chr(9);
echo "BillingAddress1";
echo chr(9);
echo "BillingAddress2";
echo chr(9);
echo "BillingAddress3";
echo chr(9);
echo "BillingAddressTown";
echo chr(9);
echo "BillingAddressCounty";
echo chr(9);
echo "BillingAddressCountry";
echo chr(9);
echo "BillingAddressPostcode";
echo chr(9);
echo "Phone";
echo chr(9);
echo "Fax";
echo chr(9);
echo "email";
echo chr(9);
echo "Description";
echo chr(9);
echo "Rate";
echo chr(9);
echo "UnitOfMeasure";
echo chr(9);
echo "SalesTaxCode";
echo chr(9);
echo "Amount";
echo chr(9);
echo chr(13);
while($row = mysql_fetch_array($result))
{
//create variables
$description = $row['invtrans StdInvNar1']." ".$row['invtrans StdInvNar2']." ".$row['invtrans StdInvNar3']." ".$row['invtrans StdInvNar4']." ".$row['invtrans StdInvNar5']." ".$row['invtrans StdInvNar6']." ".$row['invtrans StdInvNar7']." ".$row['invtrans StdInvNar8']." ".$row['invtrans StdInvNar9']." ".$row['invtrans StdInvNar10'];
$description = $description." ".$row['invtrans InvNar1']." ".$row['invtrans InvNar2']." ".$row['invtrans InvNar3']." ".$row['invtrans InvNar4']." ".$row['invtrans InvNar5']." ".$row['invtrans InvNar6']." ".$row['invtrans InvNar7']." ".$row['invtrans InvNar8']." ".$row['invtrans InvNar9']." ".$row['invtrans InvNar10'];
//output file
echo $row['invoiceheaders Name'];
echo chr(9);
echo "Account Ref";
echo chr(9);
echo $row['invoiceheaders InvDate'];
echo chr(9);
echo $row['invoiceheaders InvNo'];
echo chr(9);
echo $row['invoiceheaders Addr1'];
echo chr(9);
echo $row['invoiceheaders Addr2'];
echo chr(9);
echo $row['invoiceheaders Addr3'];
echo chr(9);
echo $row['invoiceheaders Town'];
echo chr(9);
echo $row['invoiceheaders County'];
echo chr(9);
echo $row['invoiceheaders Country'];
echo chr(9);
echo $row['invoiceheaders PostCode'];
echo chr(9);
echo "01212331234";
echo chr(9);
echo $row['invoiceheaders Fax'];
echo chr(9);
echo $row['invoiceheaders EMail'];
echo chr(9);
echo $description;
echo chr(9);
echo $row['invtrans Charge'];
echo chr(9);
echo "UnitOfMeasure";
echo chr(9);
echo "SalesTaxCode";
echo chr(9);
echo $row['invtrans Charge'];
echo chr(9);
echo chr(13);
}
?>
最佳答案
使用内置的 fputcsv()使用“\t”分隔符而不是尝试“滚动你自己的”
关于php - 创建制表符分隔文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995339/
我正在尝试从下拉列表中创建一个多选复选框,并通过 ; 连接所选结果。 我的代码是这样的: var myobject = { ValueA : 'Text A', ValueB : 'T
我有输入,我需要获取值并用 “|” 符号分隔。 我的输入: 输出我需要的: 00:00|00:00|00:00 我的代码是: (而且它不工作) var timesArray = $('table').
我正在尝试将超过 400 万行的列拆分为 4 个新列,问题是我不知道在哪里查看或我应该使用 Google 搜索哪个术语。 (是的,我已经在 Google 和 Stack 中搜索了一个类似的问题,但只在
我有一个很大的 csv 文件,其中充满了用“|”分隔的数字字符,例如: 432452 | 543634 4122442 | 41256512 64523 | 12416 然后我读入数据如下: fs
我有一个程序可以计算多个数字的阶乘。这些数字在 cmd 中作为参数传递: factorial.exe 3 4 5 这将分别计算 3、4 和 5 的阶乘。该程序的早期版本有一个百分比显示堆栈的完整性。我
这个问题已经有答案了: 奥 git _a (6 个回答) 已关闭 9 年前。 我有一个双数“547.123456” 我只想使用这个 double 作为“547.1”,就像“.”后面只有 1 个数字 我
我有一个程序可以计算多个数字的阶乘。这些数字在 cmd 中作为参数传递: factorial.exe 3 4 5 这将分别计算 3、4 和 5 的阶乘。该程序的早期版本有一个百分比显示堆栈的完整性。我
我有一个 ArrayList,其中包含一个 messageId、一个 -、一个用户名。 示例:E123-sam 我想划分 List 的每个元素,使得 - 之前的部分进入一个 ArrayList ,而之
我目前有一个“日期”列作为 pandas 数据框的索引,其格式为: January February .... Year2 January February ... Year3 (它来自 pdf 表格
我正在尝试对我的 .mdb 数据库进行 ODBC 查询。我正在使用 mdbtools 驱动程序。该代码是使用 Eclipse 用 C 语言编写的。唯一的问题是,当我写例如: "SELECT 'last
我需要知道如何将这两个if else 部分分开。 public static int NextBday(int Bdays, int days){ int daysleft = 0;
我想计算我的员工分开但合并在一起的出勤率 My target output 我的代码 SELECT count(employees_id) as numbers FROM attendance WH
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 7 年前。 Improve t
下面是我的代码的一小段摘录,它从 API 添加了一行。总共有很多行。 每一行包含一行数据如 TY8tr,50,34,P,SB, 数据行在数据类型上是一致的。我如何通过 ,'s 拆分数组列表中
我想获取选中的元素并用逗号分隔它们,最后一个元素用“and”分隔 它的显示输出为: 我想删除最后一个元素后面的逗号 (,) 并在它前面添加 'and',例如 Sugar, Milk and Extra
我是 JSON 的新手,但在从已解析的 JSON 对象中提取数据时遇到问题: 我有一个 getstats.php 文件,它回显 mysql 查询的 json 编码结果。以下是 php 文件返回的示例:
我有一个像这样的数字/字符串(我不确定如何将 int 与字符串相互转换) 000000122310200000223340000700012220000011411000000011011271043
标签内的文本
我想尝试一些基本的网络抓取,但遇到了一个问题,因为我习惯了简单的 td-tags,在这种情况下,我有一个网页,其中包含以下预标记和其中的所有文本,这意味着刮掉它有点棘手。 11111111 1111
出于练习目的,我正在开发 TCP 客户端/服务器系统,我想在两者之间发送特定数据。 我已经能够发送字节并让它们显示为字符串。此外,我还可以发送一个特定的字符串(“mb”)并在服务器端弹出一个 Mess
在大量的 unicode 字符中,有一些实际上表示多个字符,例如两个 'f' 字符的 U+FB00 连字 ff。有什么方法可以轻松地将这样的字符转换为多个单个字符?最好是标准 Java API 中可用
我是一名优秀的程序员,十分优秀!