我有一个简单的代码,我不能去上班之间的数据。我试图获取所选日期之间的所有数据,但它不起作用。这里是我的代码: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