簡體   English   中英

在日期時間字段上使用 DATE() 查詢時如何區分查詢

[英]How do I DISTINCT a query when using a DATE() query on datetime field

我有下面的代碼並且工作正常但我得到多個重復的日期,顯然這是因為它們在一天中有很多時間戳但我只對日期感興趣,有沒有辦法在我運行后區分組合框查詢?

 <select name="closeddate" class="box" value="No filter applied" id="closeddate">
<option>No filter applied</option><?php
$sql1= "SELECT * FROM tbl_jobs where STATUS = 'closed'";
$result = mysql_query($sql1);
while($data = mysql_fetch_array($result)){
$datedata = date('d-m-Y', strtotime($data['close_date']));
echo "<option>$datedata</option>";

例子

您可以用作 SQL:

select distinct date(close_date) as close_date
from tbl_jobs
where STATUS = 'closed'

所以(更新為使用mysqli):

<select name="closeddate" class="box" value="No filter applied" id="closeddate">
<option>No filter applied</option>
<?php
$sql1 = "SELECT distinct date(close_date) as close_date FROM tbl_jobs where STATUS = 'closed'";
$result = mysqli_query($sql1);
while ($data = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    //$datedata = date('d-m-Y, strtotime($data['close_date']));
    $date = new DateTime($data['close_date']);
    $datedata = $date->format('d-m-Y')
    echo "<option>$datedata</option>";
}
?>
</select>

如果您希望 MySQL 進行日期格式化,則:

<select name="closeddate" class="box" value="No filter applied" id="closeddate">
<option>No filter applied</option>
<?php
$sql1 = "SELECT distinct date_format(close_date, '%d-%m-%Y') as close_date FROM tbl_jobs where STATUS = 'closed'";
$result = mysqli_query($sql1);
while ($data = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    $datedata = $data['close_date'];
    echo "<option>$datedata</option>";
}
?>
</select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM