[英]csv data to html table
我需要使用php将数据从CSV
文件获取到HTML表。 我已经通过过滤做到了这一点,就像一个魅力。 现在,如果$filter
不存在,我尝试添加它,但由于某种原因,它会将其放在表外。
我的获取$filter
代码:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$filter = $_POST["search"];
}
因此,如果没有POST
请求,则不会有任何名称为$ filter的变量。
这是用于将csv数据获取到HTML表的代码:
if (($HandleAnalog = fopen("csv/Analog/ADC_DAC.csv", "r")) !== FALSE) {
echo "<table id='ADC_DAC' style='width:100%; border: 1px solid black;'>";
while (($data = fgetcsv($HandleAnalog, 1000, ";")) !== FALSE) {
$num = count($data);
$row++;
if(strpos($data[4],$filter) !== false || strpos($data[2],$filter) !== false ||strpos($data[5],$filter) !== false){
echo "<tr style='border: 1px solid black;'>";
for ($c=0; $c < $num; $c++) {
if ($row == 0) {
echo "<th style='border: 1px solid black;'>";
$dat = str_replace(',', '.', $data[$c]);
echo $dat;
echo "</th>";
$row++;
}
echo "<td style='border: 1px solid black;'>";
$dat = str_replace(',', '.', $data[$c]);
echo $dat;
echo "</td>";
}
echo "</tr>";
}else if ($filter == null) {
echo "<tr style='border: 1px solid black;'>";
for ($c=0; $c < $num; $c++) {
if ($row == 0) {
echo "<th style='border: 1px solid black;'>";
$dat = str_replace(',', '.', $data[$c]);
echo $dat;
echo "</th>";
$row++;
}
echo "<td style='border: 1px solid black;'>";
$dat = str_replace(',', '.', $data[$c]);
echo $dat;
echo "</td>";
}
echo "</tr>";
}
}
echo "</table>";
}
fclose($HandleAnalog);
但是由于某些原因,当我不进行过滤时,它不会显示数据,而我做的完全一样。
我过滤时的外观:
不过滤时的外观:
而且,如果查看浏览器中的元素,我会发现它在未过滤的值之前关闭了表。
提前致谢 :)
所以:
$filter = null;
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$filter = $_POST["search"];
}
echo "<table id='ADC_DAC' style='width:100%; border: 1px solid black;'>";
while (($data = fgetcsv($HandleAnalog, 1000, ";")) !== FALSE) {
$num = count($data);
$row++;
if ($filter == null) {
echo "<tr style='border: 1px solid black;'>";
for ($c=0; $c < $num; $c++) {
if ($row == 0) {
echo "<th style='border: 1px solid black;'>";
$dat = str_replace(',', '.', $data[$c]);
echo $dat;
echo "</th>";
$row++;
}
echo "<td style='border: 1px solid black;'>";
$dat = str_replace(',', '.', $data[$c]);
echo $dat;
echo "</td>";
}
echo "</tr>";
}else if(strpos($data[4],$filter) !== false || strpos($data[2],$filter) !== false ||strpos($data[5],$filter) !== false){
echo "<tr style='border: 1px solid black;'>";
for ($c=0; $c < $num; $c++) {
if ($row == 0) {
echo "<th style='border: 1px solid black;'>";
$dat = str_replace(',', '.', $data[$c]);
echo $dat;
echo "</th>";
$row++;
}
echo "<td style='border: 1px solid black;'>";
$dat = str_replace(',', '.', $data[$c]);
echo $dat;
echo "</td>";
}
echo "</tr>";
}
}
echo "</table>";
}
fclose($HandleAnalog);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.