我已将从我的数据库中完成的所有付款插入到表格中,以及我要向访问者显示的所有信息。但是,我想添加此功能,当访问者选择每一行时,他们可以访问他们当天购买的所有产品。换句话说,我想要一个模态弹出并显示该购买的发票(意味着所有产品在同一天购买)。但是,如何选择哪个日期?
<?php
$myQuery = mysql_query("SELECT * FROM `payment` WHERE UserID = $uid;");
?>
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>Product Name</th>
<th>Brand</th>
<th>Price</th>
<th>Quantity</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<?php
while ($row = mysql_fetch_assoc($myQuery)){
?>
<tr data-toggle="modal" data-id="1" data-target="#orderModal">
<td><?php echo $row["ProductID"] ?></td>
<td><?php echo $row["ProductName"] ?></td>
<td><?php echo $row["Brand"] ?></td>
<td><?php echo $row["Price"] ?></td>
<td><?php echo $row["Quantity"] ?></td>
<td><?php echo $row["Date"] ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
答案 0 :(得分:1)
有几种方法可以解决这个问题。首先,您可以使用PHP来选择日期:
$date = date('Y-m-d');
$myQuery = mysql_query("SELECT * FROM `payment` WHERE UserID = $uid AND Date = '$date';");
或者您可以使用MySQL的CURDATE()
方法:
$myQuery = mysql_query("SELECT * FROM `payment` WHERE UserID = $uid AND Date = CURDATE();");
如果您的日期格式为Y-m-d(2016-06-03)格式,则此方法有效。如果它是另一种格式,你将不得不做一些DATE_FORMAT操作。这只适用于“今天”。否则,请使用第一种方法并传入所需的日期。
另外,不推荐使用mysql_ *函数,并且从PHP7开始删除它们。我真的建议使用PDO或mysqli,并使用它来绑定您的参数,这样您就不必担心mysql注入。
答案 1 :(得分:1)
使用Jquery DATEPICKER在目标文件中选择日期并提交表单,其中写入查询
在此页面上获取日期:
$date = date('Y-m-d');
if(iseet($_POST['date']))
{
$date = date("Y-m-d", strtotime($_POST['date']));
}
$myQuery = mysql_query("SELECT * FROM `payment` WHERE UserID = $uid AND Date = '$date' ");
以下是datepicker的代码
$(function() {
$( "#datepicker" ).datepicker();
});
&#13;
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<form action="yourfile.php" method ="post">
<p>Date: <input type="text" name="date" id="datepicker"></p>
<input type="submit" value="Submit">
</form>
&#13;
答案 2 :(得分:0)
使用日期选择器选择日期,然后使用所选日期对您的php函数进行ajax调用,然后触发SELECT * FROM
付款WHERE UserID = $uid and Date = $date;
之类的查询,并弹出一个返回的模型来自ajax调用的数据。
答案 3 :(得分:0)
mysql_query("SELECT * FROM `payment` WHERE UserID = $uid AND Date between '$date1' and '$date2'");
$ date1是购买日期,小时,分钟和秒设置为0
$ date2是购买日期,小时数设置为23,分钟数为59,秒数为59
如果$ date是2015-05-05 16:34:22,$ date1是2015-05-05 00:00:00而$ date2是2015-05-05 23:59:59,当天:)