我正在将我的DHTMLX网格导出到csv,并且已成功创建.CSV文件.我遇到的问题是它没有提示用户保存/打开文件.我正在使用来自javascript的$ .post调用将CSV字符串发送到PHP,然后将该字符串写入csv.由于某种原因,它不是为用户创建提示,但它成功写入文件并保存在服务器上.以下是相关代码:
JS:
myGrid.csvParser = myGrid.csvExtParser;
myGrid.setCSVDelimiter('|');
myGrid.csv.row = "endOfRow";
var gridCsvData = myGrid.serializeToCSV();
$.post(
"data/export.php",
{
csvdata: gridCsvData
}
);
Run Code Online (Sandbox Code Playgroud)
PHP(export.php):
$csvData = $_REQUEST['csvdata'];
$csv = explode('endOfRow',$csvData);
$myfile = "grid.csv";
$fh = fopen($myfile, 'w') or die("can't open file");
foreach($csv as $line) {
fputcsv($fh, explode('|',$line),',','"');
}
fclose($fh);
//Redirect output to a client's web browser (csv)
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=grid.csv");
header("Pragma: no-cache");
header("Expires: 0");
Run Code Online (Sandbox Code Playgroud)
这段代码完美地运行,因为它按照我想要的方式导出Grid并将其保存到'grid.csv'.问题是它没有提示用户保存文件.这是我的PHP标题的问题还是我需要在$ .post中添加一些东西来提示成功?谢谢你的帮助!
我正在尝试显示一行"Total",它将执行Count列的总和.以下代码将包含两列,Environment和Count.
select
case
when env is null THEN 'Unknown'
else env
end,
count(*) as Count
from env_table
group by env
order by env
/
Run Code Online (Sandbox Code Playgroud)
输出我想:
Windows 200
Linux 120
总计320
正如您在上面所看到的,我想要做的是在末尾添加一个名为"Total"的行,它基本上会执行SUM(count(*)).这样做的正确语法是什么?谢谢!
假设我有两个表,表A和表B,我想比较某个列.
例如,
表A包含列:IP,主机,应用程序
表B包含以下列:IP,数据中心,服务器,模型,Last_Updated
如何比较两个表之间的IP列以获得差异?
我知道如果表有相同的列我可以使用union和'减'来获得差异但是如果表有不同的列我就无法找到方法.
谢谢!
我希望能够解析一个网页并返回任何标题包含4个字母的元素.
例如:
<li><a href="test.com/dogs" title="dogs"></a></li>
<li><a href="test.com/cat" title="cat"></a></li>
<li><a href="test.com/horse" title="horse"></a></li>
<li><a href="test.com/eels" title="eels"></a></li>
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我想返回一个包含'dogs'和'eels'的数组,因为标题恰好包含4个字符.我该怎么做呢?谢谢!