0

私は現在、この問題で立ち往生しており、これを実装する方法がまったくわからないようです。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>";

これはテーブルがどのように見えるかのサンプルです

以下は、テーブルがどのように見えるかのサンプルです。どんな助けも大歓迎です。

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 に答える