【发布时间】:2016-05-26 05:37:36
【问题描述】:
我在 mysql 数据库中有以下日期格式值:
1464436800 ( In php, date will be 2016-05-28 8:00 AM )
1464440400 ( In php, date will be 2016-05-28 9:00 AM )
1464444000 ( In php, date will be 2016-05-28 10:00 AM )
1464447600 ( In php, date will be 2016-05-28 11:00 AM )
1464552000 ( In php, date will be 2016-05-29 4:00 Am )
现在我想从这些数据库值列表中使用 php 显示下一个日期和时间。
例如:如果当前日期和时间是 2016-05-25 8:00 AM,那么我想像这样选择/显示下一个日期时间 2016-05-28上午 9:00
下一个日期和时间可能在 1 小时或 2 小时或 5 小时或 1 天或 2 天后等。
但是文本日期和时间显示在我的数据库中的日期时间值列表中,就像我展示的那样。
我怎样才能用 php 做到这一点?
更新:
<?php
$get_menu = mysqli_query($conn, "SELECT DISTINCT products.p_title, products.p_price, product_images.p_list_image, chef_profile.live_at, chef_profile.fname, chef_profile.lname, chef_profile.is_verified_chef, users.user_avator, chef_review.r_star, product_date_time.date, product_date_time.time FROM products LEFT JOIN product_images ON products.p_id = product_images.p_id LEFT JOIN chef_profile ON products.u_id = chef_profile.u_id LEFT JOIN users ON products.u_id = users.u_id LEFT JOIN chef_review ON products.p_id = chef_review.p_id LEFT JOIN product_date_time ON product_date_time.p_id = products.p_id GROUP BY products.p_id");
$num_menu = mysqli_num_rows($get_menu);
while( $get_result = mysqli_fetch_array($get_menu) ) {
$menu_title = htmlspecialchars(ucfirst($get_result['p_title']));
$menu_price = htmlspecialchars($get_result['p_price']);
$menu_image = htmlspecialchars($get_result['p_list_image']) ? htmlspecialchars($get_result['p_list_image']) : "no-menu-preview.png";
$live_at = htmlspecialchars($get_result['live_at']);
$fname = htmlspecialchars($get_result['fname']);
$lname = htmlspecialchars($get_result['lname']);
$date = htmlspecialchars($get_result['date']);
if(!empty($date)) {
$date_time = 'Next Date : ';
$date_time .= date('D, F jS', $date);
$date_time .= ' at ';
$date_time .= date('G:00 A', $date);
} else {
$date_time = 'No event time found';
}
$user_avator = htmlspecialchars($get_result['user_avator']) ? htmlspecialchars($get_result['user_avator']) : "empty-photo.jpg";
$is_verified = (int) $get_result['is_verified_chef'];
if($is_verified == 1) {
$is_verified = '<small><i class="fa fa-check-circle "></i> Verified Chef</small>';
} elseif($is_verified == 0) {
$is_verified = '<small>Not Verified</small>';
}
$r_star = (int) $get_result['r_star'];
?>
<div class="col-md-4 col-sm-6">
<div class="items">
<div class="img-effect">
<a href="menu-details?<?php ?>"><img src="<?php echo IMG_DIR."menu_images/$menu_image" ?>" alt="" class="img-responsive"></a>
</div>
<div class="product-list">
<div class="col-md-9 no-p-m product-title">
<h4><a href="product-list"><?php echo $menu_title; ?></a></h4>
</div>
<div class="col-md-3 price">
<p class="text-right">$ <?php echo $menu_price; ?></p>
</div>
<hr class="items-hr">
<div class="row">
<div class="col-xs-4">
<img src="<?php echo IMG_DIR."users_avator/$user_avator" ?>" alt="" class="img-responsive img-circle" width="100">
</div>
<div class="col-xs-8">
<p><strong>Chef <?php echo $fname . ' ' . $lname; ?></strong></p>
<em><?php echo $live_at; ?></em>
<div class="col-xs-12 col-sm-12 review">
<?php echo $is_verified; ?><br/>
<?php
if($r_star == 0 ) {
echo 'No Review';
} else {
for($x = 1; $x <= $r_star; $x++) {
echo "<i class='fa fa-star'></i>";
}
echo " ($r_star Review)";
}
?>
</div>
</div>
</div>
</div>
<div class="next-date">
<p><?php echo $date_time; ?></p>
</div>
</div>
</div>
<?php } ?>
【问题讨论】:
-
类似这样的
$date = strtotime("+3 day", strtotime("2016-05-28 8:00 AM")); echo date("Y-m-d", $date) -
我更新了我的问题。请检查一下
-
是的,我的脚本做你想做的事
-
查看在线示例:https://3v4l.org/XsgIJ
-
进行两个查询,一个只查询日期,一个查询所有内容。从第一个查询中创建数组并在第二个查询中显示它们。
标签: php