Seryu Seryu - 3 months ago 21
MySQL Question

How to Export dynamic table in PHP

I have a website that users can manipulate the data inside the table whichever they select on my dropdown list. Now users has an option to export the displayed data in the table. When users click the Export nothing happens, I am new in PHP and sorry for the english.

Below is my index.php and excel.php, can you tell what am i missing?

INDEX.PHP

<?php
if (isset($_POST['search'])) {
$cmbDept = $_POST['cmbDept'];
$query = "SELECT * FROM daily_data2 WHERE Campaign LIKE '" . $cmbDept . "'";
$search_result = filterTable($query);
} else {
$query = "SELECT * FROM daily_data2";
$search_result = filterTable($query);
}

function filterTable($query) {
$connect = mysqli_connect("localhost", "root", "", "bio_db");
$filter_Result = mysqli_query($connect, $query);
return $filter_Result;
}
?>


EXCEL.PHP

<?php
$connect = mysqli_connect("localhost", "root", "", "bio_db");
$output = '';
if (isset($_POST["export_excel"])) {
$query = "SELECT * FROM daily_data2 WHERE Campaign LIKE '" . $cmbDept . "'";
$result = mysqli_query($connect, $query);
if (mysqli_num_rows($result) > 0) {
$output .= '
<table class="table bordered="1">
<tr>
<th>Userid</th>
<th>Name</th>
<th>Campaign</th>
<th>Date</th>
<th>Hoursworked</th>
<th>Overtime</th>
</tr>
';
while ($row = mysqli_fetch_array($result)) {
$output .= '
<tr>
<td>' . $row["Userid"] . '</td>
<td>' . $row["Name"] . '</td>
<td>' . $row["Campaign"] . '</td>
<td>' . $row["Date"] . '</td>
<td>' . $row["Hoursworked"] . '</td>
<td>' . $row["Overtime"] . '</td>
</tr>';
}
$output .= '</table>';
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=download.xls");
echo $output;
}
}?>


HTML CODE in INDEX.PHP

<html>
<head>
<title>Employee Logs</title>
<style>
table,tr,th,td
{
border: 1px solid black;
}
</style>

</head>
<body>
<h2 align="center">Time and Attendance Monitoring</h2>

<center>

<form method="GET" action="excel.php">

<input type="submit" name="export_excel" class="btn btn-success" value="Export to Excel">
</form>

<form action="index.php" method="post">
<select id="cmbDept" name="cmbDept">
<option value = '' selected="selected">Filter by Department</option>
<option value = 'TKV'>TKV</option>
<option value = 'NA'>NA</option>
<option value = 'PURE-INC'>PURE INC</option>
<option value = 'DUTY-FREE'>DUTY-FREE</option>
<option value = 'HQL'>HQL</option>
<option value = 'PRO-XPN'>PRO-XPN</option>
<option value = 'Mate1'>Mate1</option>
<option value = 'STUDENT-rUS'>STUDENT-rUS</option>
<option value = 'COLLECTIONS'>COLLECTIONS</option>
<option value = 'NTD'>NTD</option>
<option value = 'DATA RESEARCHER'>DATA RESEARCHER</option>
<option value = 'VA'>DATA RESEARCHER</option>

</select>
<input type="submit" name="search" value="Search"><br><br>

</center>

<table align="center" width="600" border="1" cellpadding="1" cellspacing="1">
<tr>
<th>Userid</th>
<th>Name</th>
<th>Campaign</th>
<th>Date</th>
<th>Hoursworked</th>
<th>Overtime</th>
</tr>

<?php while($row = mysqli_fetch_array($search_result)):?>
<tr>
<td style="text-align:center;"><?php echo $row['Userid'];?></td>
<td width="200"><?php echo $row['Name'];?></td>
<td style="text-align:center;"><?php echo $row['Campaign'];?></td>
<td width="100" style="text-align:center;"><?php echo $row['Date'];?></td>
<td style="text-align:center;"><?php echo $row['Hoursworked'];?></td>
<td style="text-align:center;"><?php echo $row['Overtime'];?></td>
</tr>

<?php endwhile;?>

</table>

//<?php
// $cmbDept = $_GET['cmbDept'];
// ?>
</form>
</body>



Answer

In HTML :

<form method="POST" action="excel.php">
    <input type="hidden" name="cmbDept" value="<?php echo isset($_POST['cmbDept']) ? $_POST['cmbDept'] : ''; ?>"> 
    <input type="submit" name="export_excel" class="btn btn-success" value="Export to Excel">
</form>

Excel.php

if (isset($_POST["export_excel"])) {
  $cmbDept = $_POST['cmbDept'];
  $query = "SELECT * FROM daily_data2 WHERE Campaign LIKE '" . $cmbDept . "'";
Comments