循环遍历MYSQL表并对行和上一行字段PHP执行操作

时间:2012-04-19 11:08:31

标签: php mysql loops

我想遍历一个MySQL表,并根据循环所在的当前行和前一个循环执行计算。

假设我的表有2列 - Film_idFilmRelease,我将如何循环并回显当前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'];
}

1 个答案:

答案 0 :(得分: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'];
}