0
基本上我有一個網站,讓用戶輸入兩個日期。當他們點擊提交時,會顯示一個表格,該表格僅顯示這兩個日期之間的數據。彈出說「文件正在下載」但沒有任何事發生
當我點擊下載按鈕時,彈出窗口顯示該文件正在下載,但沒有任何反應。
我已經google了一下,看了這個問題的幾個答案,但雖然我沒有得到任何錯誤,該文件仍然不下載。我應該嘗試一種不同的方法嗎?
這裏是我的PHP代碼:
<?php
session_start();
include_once("Connection.php");
$StartDate = $_POST['startDate'];
$EndDate = $_POST['endDate'];
$InstructorID = $_SESSION["InstructorID"];
$sql = "SELECT Instructors.InstructorName, Class.ClassName, Class.ClassType, CLASS_STUDENT.Semester, CLASS_STUDENT.Year, Students.StudentName, TUTOR_STUDENT.ClassID, TUTOR_STUDENT.Date,
TUTOR_STUDENT.TopicCovered, TUTOR_STUDENT.BeginTime, TUTOR_STUDENT.EndTime, TUTOR_STUDENT.TotalMinutes, Tutors.TutorName, TUTOR_STUDENT.Categories
FROM Instructors
INNER JOIN Class
ON Instructors.InstructorID = Class.InstructorID
INNER JOIN CLASS_STUDENT
ON Class.ClassID = CLASS_STUDENT.ClassID
INNER JOIN Students
ON CLASS_STUDENT.StudentUsername = Students.StudentUsername
INNER JOIN TUTOR_STUDENT
ON Students.StudentUsername = TUTOR_STUDENT.StudentUsername
INNER JOIN Tutors
ON TUTOR_STUDENT.TutorUsername = Tutors.TutorUsername
WHERE TUTOR_STUDENT.Date >= '$StartDate' AND TUTOR_STUDENT.Date <= '$EndDate' AND TUTOR_STUDENT.ClassID = CLASS_STUDENT.ClassID
ORDER BY TUTOR_STUDENT.Date";
$result = mysqli_query($link, $sql);
if ($result->num_rows > 0)
{
echo "
<table>
<tr>
<th>Date</th>
<th>Class Name</th>
<th>Year</th>
<th>Semester</th>
<th>Topic Covered</th>
<th>Begin Time</th>
<th>End Time</th>
<th>Total Minutes</th>
<th>Tutor Name</th>
<th>Student Name</th>
<th>Catergory</th>
</tr>
";
// output data of each row
while($row = $result->fetch_assoc())
{
echo "
<tr>
<td>".$row["Date"]. "</td>
";
echo "
<td>".$row["ClassName"]. "</td>
";
echo "
<td>".$row["Year"]. "</td>
";
echo "
<td>".$row["Semester"]. "</td>
";
echo "
<td>".$row["TopicCovered"]. "</td>
";
echo "
<td>".$row["BeginTime"]. "</td>
";
echo "
<td>".$row["EndTime"]. "</td>
";
echo "
<td>".$row["TotalMinutes"]. "</td>
";
echo "
<td>".$row["TutorName"]. "</td>
";
echo "
<td>".$row["StudentName"]. "</td>
";
echo "
<td>".$row["Categories"]. "</td>
";
echo "</tr>";
}
echo "</table>";
}
else
echo "You have no tutoring sessions between those two dates.";
if (isset($_POST['downloadAdminDate']))
{
$data = "Date,ClassName,Year,Semester,TopicCovered,BeginTime,EndDate,TotalMinutes,TutorName,StudentName,Categories\n";
while($row = mysqli_fetch_array($result))
{
$data.=$row['Date'].",";
$data.=$row['ClassName'].",";
$data.=$row['Year'].",";
$data.=$row['Semester'].",";
$data.=$row['TopicCovered']."\n";
$data.=$row['BeginTime'].",";
$data.=$row['EndTime'].",";
$data.=$row['TotalMinutes'].",";
$data.=$row['TutorName'].",";
$data.=$row['StudentName']."\n";
$data.=$row['Categories']."\n";
}
$data_final = chr(255).chr(254).mb_convert_encoding($data, "UTF-16LE","UTF-8");
header("Content-type: text/csv; charset=UTF-8");
header("Content-Disposition: attachment; filename=Export.csv");
print $data_final;
exit;
}
mysqli_close($link);
?>
這裏的HTML:
<p id ="byDate"> Search all tutoring sessions by date.</p>
<form id ="SearchByDate" action ="AdminDate.php" method="post">
Start Date <input = "textbox" type="date" name ="startDate" value="" required/>
End Date <input = "textbox" type="date" name ="endDate" value="" required/> </br>
</br>
<button class ="button" type="submit" name = "searchDateSubmit" id ="searchDateSubmit" value ="submit"> Submit </button>
</form>
</br>
</br>
<div id ="searchDateContainer"> Date results are displayed here.
</div>
</br>
</br>
<form id ="downloadAdminDate" action="AdminDate.php" method="post">
<button class ="download" type="submit" name ="downloadAdminDate" id ="downloadDate" value="submit"> Download File </button>
</form>
任何幫助,將不勝感激。
我做了調整,但該文件仍然沒有下載:(任何其他建議的任何機會。 – Alexis