我有一個簡單的代碼,我不能去上班之間的數據。我試圖獲取所選日期之間的所有數據,但它不起作用。這裏是我的代碼:PHP MySQL的獲取日期
形式
<form action="selectedInvoices.php" method="POST">
<div class="row">
<div class="large-4 columns">
<label>From
<input type="text" class="datepicker" name="from" />
</label>
</div>
<div class="large-4 columns">
<label>To
<input type="text" class="datepicker" name="to" />
</label>
</div>
<div class="large-4 columns">
<button class="button" type="submit">Show Invoice</button>
</div>
</div>
</form>
selectedInvoices.php
$fromOrig = strtotime($_POST['from']);
$toOrig = strtotime($_POST['to']);
$from = date('Y-m-d', $fromOrig);
$to = date('Y-m-d', $toOrig);
$sql = mysql_query("SELECT * FROM allinvoices WHERE acc_date BETWEEN '".$from."' AND '".$to."'");
while($r = mysql_fetch_assoc($sql)) {
$drno = $r['drno'];
$name = $r['name'];
$amount = $r['amountdue'];
我acc_date
字段的數據類型爲varchar我的猜測是錯在這裏。我插入日期的格式是m-d-Y。
我應該怎麼做,以使代碼工作?先謝謝你。
「我的acc_date字段的數據類型是varchar,我猜這裏是錯誤的。」那麼這是錯誤的那裏。那麼如何比較日期? – rahul
@Plum有沒有一種方法可以保留數據類型並在代碼中進行轉換? – FewFlyBy
WHERE'STR_TO_DATE(acc_date,'Y-m-D')'將格式更改爲所需內容。 – Mihai