Вывод данных из MySQL в CSV

307
19 июня 2018, 01:30

Пыталась сделать вывод данных в CSV-файл, но данные выводятся в одну ячейку. Вопрос: как сделать так, чтобы данные выводились в отдельные ячейки? Ниже приведен код программы

<meta charset="UTF-8">  
<?php
include 'database.php';
$sql = "SELECT * FROM `Taxes_List`";
$result = $conn->query($sql);
if($result->num_rows > 0){
echo '<table border="1" cellspacing="15" cellpadding="20" align="center">';    
echo '<th>Profit_Taxes</th>';
echo '<th>Income_Individuals_Taxes</th>';
echo '<th>Add_Price_Taxes</th>';
echo '<th>Property_Firm_Taxes</th>';
echo '<hr>';
echo '<tbody>';
while($row = $result->fetch_assoc()) {
      echo '<tr>';
      echo '<td>' . $row['Profit_Taxes'] . '</td>';
      echo '<td>' . $row['Income_Individuals_Taxes'] . '</td>';
      echo '<td>' . $row['Add_Price_Taxes'] . '</td>';
      echo '<td>' . $row['Property_Firm_Taxes'] . '</td>';
      echo '</tr>';
  }
echo '</tbody>';
echo '</table>';
} else {
    echo "<br><center>The database is empty!</center>";
    echo "<br>";
    echo "";
}
echo
<<< html
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
 <script>
function update(val,tex){
   var sc=document.createElement("SCRIPT");
   sc.src="update.php?v="+val+"&t="+tex;
   document.body.appendChild(sc);  
location.reload()
}
function exportTableToCSV(filename) {
var csv = [];
var rows = document.querySelectorAll("table tr");
var z = 1;
for (var i = 0; i < rows.length; i++) {
    var row = [], cols = rows[i].querySelectorAll("td, th");
    for (var j = 0; j < cols.length; j++) {
        row.push(cols[j].innerText); 
    }
    csv.push(row.join(","));        
}
downloadCSV(csv.join("\\n"), filename);}
function downloadCSV(csv, filename) {
var csvFile;
var downloadLink;
csvFile = new Blob([csv], {type: "text/csv"});
downloadLink = document.createElement("a");
downloadLink.download = filename;
downloadLink.href = window.URL.createObjectURL(csvFile);
downloadLink.style.display = "none";
document.body.appendChild(downloadLink);
downloadLink.click();}   
function check() { 
window.location.href ="https://docs.google.com/spreadsheets/d/1_QNaJGMNEIlNrLqZq9gANOilw4M1l3_ilJCieffdn-Q/edit#gid=0";
   } 
</script>
<BR>
<center>
<button type="submit" onclick="exportTableToCSV('Налоговый отчет.csv')" 
class="btn btn-success">Экспортировать в Excel</button>
<button type="submit" onclick="check()" class="btn btn-success">Открыть в 
 Excel</button>
 <button type="submit" onclick="window.location.href='./menu.html'"  
 class="btn btn-warning">Вернуться</button>
 </center>
  html;
  ?>

P.S. Просмотрела другие ответы на подобные вопросы, попробовала сделать как там, но ошибка: Cannot modify header information - headers already sent.

READ ALSO
MPDF не работает, конвертор из HTML в PDF

MPDF не работает, конвертор из HTML в PDF

Решил установить новую версию MPDF, раньше я тупо подключал файл include("MPDF56/mpdfphp"); и все работало, сейчас в мануэле пишут это

278
Загрузка *.txt через AJAX

Загрузка *.txt через AJAX

Нужно сделать загрузку txt-файла на серверДо этого с загрузкой файлов не сталкивался ни разу

288
Конверт Html тегов в yii2

Конверт Html тегов в yii2

как в yii2 переобразовать этих элементов форм:

286
Задать Laravel cookie

Задать Laravel cookie

Как задать не сессионные куки в ларавел? То есть, что бы при первом соединение с сайтом, отдавать вечные куки, а не только сессионныеПопробовал...

239