mysqlデータベースから取得した日付を現在の日付で減算し、日数で出力を取得したいのですが、手伝ってください。
私はこのコードを試しましたが、機能していません。テーブルから日付を取得し、取得していない現在の日付からそれを減算しようとしています。
<?php
mysql_connect("localhost","root","");
mysql_select_db("lib_db");
if(isset($_POST['submit']))
{
$user1=$_POST['user'];
$curdate=date("d/m/Y");
$query=mysql_query("select * from returnbooks where Userid='$user1'");
while($row=mysql_fetch_array($query))
{
$getnow=$row[5];
$change=strtotime($getnow);
$mydate=date('d/m/Y',$change);
$diff= abs(strtotime($mydate) - strtotime($curdate));
echo floor($diff/(60*60*24));
}
}
?>
</p>
<p> </p>
<form id="form1" name="form1" method="post" action="">
<label for="user"></label>
<input type="text" name="user" id="user" />
<p>
<input type="submit" name="submit" id="submit" value="Submit" />
</form>
</p>
</body>
</html>
独自の算術演算を行うよりもはるかに優れた解決策は、これを行う組み込み関数を使用することです。MySQLクエリ(SELECT DATEDIFF(MyDateColumn, CURDATE()) FROM MYTABLE
)で直接実行するか、MySQLから日付を取得してそれからDateTimeオブジェクトを作成した後にPHP関数を使用できます。($dateInterval = date_diff($dateFromSQL, new DateTime()); $daysApart = $dateInterval->days;
)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加