如何从PHP中的表中获取td数据

时间:2012-06-28 19:37:35

标签: php csv file-upload html-table

我现在正困在这个问题,我似乎不知道如何实现这个。我有这个表从php中的csv文件填充,我想记录数据,以计算白天时间。

如何从td“dateLogged”获取数据,我在使用子项之前在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>";

Here is a sample how the table looks like

以下是表格的示例 我们非常欢迎任何帮助。

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分: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列是你想要的字段,不是吗?