0

我目前正陷入这个问题,我似乎不知道如何实现这一点。我有这个表,它是从 php 中的 csv 文件填充的,我想获取记录的数据以计算白天时间。

我如何从 td“dateLogged”中获取数据,我在使用 children 之前在 jquery 中做到了这一点,但我似乎无法在 php 中做到这一点

//print out uploaded file.csv
            echo "<html><body><table BORDER=1>\n\n";
            echo "  <tr><th>AvgCrown</th><th>MinCrown</th><th>MaxCrown</th><th>dateLogged</th><th>DaylightHours</th></tr>";
            $f = fopen("./uploads/" . $_FILES["uploadedfile"]["name"], "r");

        while (($line = fgetcsv($f)) !== false) {
                echo "<tr>";
                foreach ($line as $cell) {
                        echo "<td>" . htmlspecialchars($cell) . "</td>";
                }
                echo "<td>" . calcDaylight() . "</td>";

                echo "<tr>\n"; 


        }
        fclose($f);
        echo "\n</table></body></html>";

这是表格的外观示例

这是表格的外观示例,欢迎提供任何帮助。

4

2 回答 2

1

如果您可以在生成数据时获取数据,则无需解析 HTML。像这样的东西应该是你所需要的:

while (($line = fgetcsv($f)) !== false) {
    echo "<tr>";
    foreach ($line as $cell) {
        // Save the value before you output
        $lastColValue = htmlspecialchars($cell);
        echo "<td>" . $lastColValue . "</td>";
    }
    // If you want to store all log dates in an array:
    $logDates[] = $lastColValue;
    // Or if you want to do something with that value in calcDaylight:
    echo "<td>" . calcDaylight( $lastColValue ) . "</td>";
    echo "<tr>\n"; 
}
fclose($f);

顺便说一句,如果你确实发现你需要解析 HTML 并且只熟悉 jQuery,那么这个库可能会让你喜欢:

http://code.google.com/p/phpquery/

于 2012-06-28T19:57:24.653 回答
1

这?

while (($line = fgetcsv($f)) !== false) {
   echo "<tr>";
   foreach ($line as $cell) {
      echo "<td>".htmlspecialchars($cell)."</td>";
   }
   echo "<td>" . calcDaylight( $cell[3] ) . "</td>";
   echo "<tr>\n"; 
}

我可能错了,但第 4 列是您想要的字段,不是吗?

于 2012-06-28T20:10:18.390 回答