0
概述
我創建了嘗試解析上傳CSV文件,依次通過行和列的腳本,出將它們放入一個語義HTML表格。我試圖添加一個條件。如果聲明,將只顯示具有在柱A值大於0.40 6磨碎器表中的行(我濾波導入的CSV的,以去除具有跳出率低於40%N的列表中的行)解析CSV到HTML表顯示TR有條件
藉口
我看不見樹林裏的木頭,所以可以在這裏說。我是一名初級開發人員,與.NET和Visual Studio相比,努力實際理解PHP中的調試。 PHP更難以調試IMO。無論如何,沒有辯論我是一個新手也許我錯過了東西,無論我會感謝一些幫助。對於任何疏忽或任何愚蠢的行爲,我表示歉意,我只需要一些幫助,指出我出錯的地方以及我可以如何改進?
這是一個相當簡單的腳本,我敢肯定:(
<?php
//error Reporting
ini_set('display_errors', 1);
error_reporting(E_ERROR);
//parse imported CSV
$csvData = file_get_contents($_FILES['minefile']['tmp_name'], 'r+');
$lines = explode("\n", $csvData);
$array = array();
foreach ($lines as $line) {
$array[] = str_getcsv($line);
} //$lines as $line
//count rows & cols
$colCount = count($array[0]);
$rowCount = count($array);
$showRow = true;
//start table html
echo '<table width="100%">';
//Start looping through csv row (line) by row (line)
for ($row = 0; $row <= $rowCount; $row++) {
// debug var row loop - echo "<h1>".$col."</h1>";
// echo '<h1>'.$hideRow ? 'true' : 'false'.'</h1>';
//if index is 0 it must be the header (in this case)
if ($row == 0) {
//output table head tag
echo '<thead>';
}
else {
//check bounce rate column (6) for a bounce rate higher than 40%
if ($showRow == true) {
//show row
echo '<tr>';
}
//
else {
//hide row
echo '<tr style="display:none;">';
}
}
for ($col = 0; $col <= $colCount; $col++) {
if ($row == 0) {
//
echo '<th>' . $array[$row][$col] . '</th>';
} //$row == 0
else {
if ($array[$row][$col] >= 0.40 && $col == 5)
{
$showRow = true;
}
echo '<td>' . $array[$row][$col] . '</td>';
}
} //$col = 0; $col <= $colCount; $col++
if ($row == 0) {
echo '</thead>';
} //$row == 0
else {
echo '</tr>';
}
} //$row = 0; $row <= $rowCount; $row++
echo "</table>";
echo "<h1>Debugging</h1>";
echo "<h3>Col Count: " . $colCount . " </h3>";
echo '<h3>Row Count: ' . $rowCount . '</h3>';
?>
嗨,我正在嘗試整合這..但理解,但...我很努力想看看要刪除什麼以及在哪裏添加您的建議? –
我只添加了最後一行。其他線是你的,純粹是爲了參考(所以你可以找到合適的地方放置它)。問題在於,您正在查看「showRow」將顯示設置爲NONE,但直到您已經放棄該行的起始位置後纔會檢查該列。我懷疑這實際上是導致「NEXT」行在遇到行程點時被隱藏。你不應該從代碼中刪除任何東西,只需添加一行。 – DragonYen
這是否讓你啓動並運行? – DragonYen