Php 我的剧本怎么了?

Php 我的剧本怎么了?,php,mysql,sql,csv,Php,Mysql,Sql,Csv,我正试图通过以下脚本将值插入csv文件…脚本工作正常,但在输出中,值的排列顺序不正确 <?php require_once '../config.php'; $month = $_GET['month']; $sq="select * from employee where month ='$month'"; $sql=mysql_query($sq); $row = array(); $row[] = 'Employee Code'; $row[] = 'Employee Name'

我正试图通过以下脚本将值插入csv文件…脚本工作正常,但在输出中,值的排列顺序不正确

<?php
require_once '../config.php';
$month = $_GET['month'];
$sq="select * from  employee where month ='$month'";
$sql=mysql_query($sq);

$row = array();
$row[] = 'Employee Code';
$row[] = 'Employee Name';
$row[] = 'DOJ';
$data .= join(',', $row)."\n"; // Join all values without any trailing commas 
$row = array(); // We must clear the previous values
while($rs = mysql_fetch_object($sql))
{
$row[] = $rs->employee_code;
$row[] = $rs->employee_name;
$row[] = $rs->emp_dateofjoin;
$row[] = "\n";
}
$data .= join(',', $row);

// Output the headers to download the file
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=test.csv");
header("Pragma: no-cache");
header("Expires: 0");
echo $data;
?>


这些值添加到csv文件中,在行的开头有一个空白单元格。除了第一行。

甚至不看它,脚本的核心问题在于您使用的是
mysql.*
函数。所以不要。你应该改为(很棒)或(很好)


除此之外,您是否考虑过在查询中添加一个
ORDER BY
子句?

我认为您还可以查看ORDER BY FIELD()DESC,这也可能有助于在降序中安排您想要的内容。只是一个想法

SELECT * FROM employee WHERE month = '$month' AND order by field(field1,field2,field3,field4) desc

或者,您可以使用foreach中的while循环以及正则表达式和ereg()来扫描字符,然后设置要显示的内容和时间。另一种方法是将信息从最高填充元素排序到较低填充元素。

您的脚本当前易受SQL注入攻击。您应该使用或类似的方法来转义
$\u GET['month']
。您可以添加几行实际csv输出(例如3-5行)和预期输出。通过这种方式,可以更清楚地看到哪里出了问题,然后深入研究代码并说明为什么出了问题。如果您详细说明“不要这样做”,并提出一些建议,说明他们应该如何替换
mysql\uuuu
函数,sunil可能会很感激。实际上,我的问题是如何在test.csv文件中整理提取的数据。数据获取很好,但问题是它们在csv文件中的排列哦,好的,看看它是一个PHPClass,您可以使用它“读取csv文件数据并将其排序到数组中”,然后在您将所有内容按需要排列后,您可以更新csv文件。