0

MySQL テーブルをループし、ループが実行されている現在の行と前のループに基づいて計算を実行したいと考えています。

テーブルに 2 つの列があるとします。Film_idそして、現在の行と前の行の列の値のFilmRelease計算をループしてエコーアウトするにはどうすればよいでしょうか。FilmRelease

みんなありがとう

私はこの段階に達しましたが、何らかの理由で何も出力されません

<?php
 mysql_connect("localhost", "****", "*****") or die(mysql_error()); 
 mysql_select_db("*****") or die(mysql_error()); 

 $sql = mysql_query("SELECT FilmRelease FROM Films_Info") 
 or die(mysql_error()); 

 $last_value = null;

while ($row = mysql_fetch_assoc($sql)) {

  if (!is_null($last_value)) {

    print date_diff($row['FilmRelease'], $last_value) . "<BR>";
  }

  $last_value = $row['FilmRelease'];
}
4

1 に答える 1

2

このような:

$last_value = null;

while ($row = mysql_fetch_assoc($sql)) {

  if (!is_null($last_value)) {
    $interval = date_diff(new DateTime($row['FilmRelease']), new DateTime($last_value));
    echo $interval->format('Y-m-d');
  }

  $last_value = $row['FilmRelease'];
}
于 2012-04-19T11:10:53.693 に答える