0

私は自分のプロジェクトでこの問題を抱えています。これは私のコードです:

<?php
if (isset($_POST['search']))
{   
    $a = isset($_POST['from'])?$_POST['from']:"";
    $b = isset($_POST['to'])?$_POST['to']:"";
    $c = isset($_POST['status'])?$_POST['status']:"";

    if($c=='Delivered' || $c=='Cancelled'){
        $rest = mysql_query("SELECT * FROM delivered WHERE dateord BETWEEN '$a' and '$b' AND stats = '$c' order by dateord DESC");
        while($row1 = mysql_fetch_assoc($rest)){
?>
        <tr align="center" bgcolor="#00FFCC" style="font-size:10px">
            <td><?php echo $row1['customer']; ?></td>
            <td><?php echo $row1['itemname'];?></td>
            <td><?php echo number_format($row1['unitP']); ?></td>
            <td><?php echo $row1['quant']; ?></td>
            <td><?php echo number_format($row1['totalP']); ?></td>
            <td><?php echo $row1['dateord']; ?></td>
            <td><?php echo $row1['stats']; ?></td>
            <td><?php echo $row1['tracknumb']; ?></td>
        </tr>
<?php } ?>

私の問題は、表示されない同じ日付のエントリを入力した場合です。例 from: 2013-11-06 to: 2013-11-06 を入力したいので、その日付のデータを印刷できます。しかし、うまくいきません..どうすればいいですか?私はこのまだ学習に非常に初心者です..ありがとう!

4

4 に答える 4

0

試す

"SELECT * FROM delivered WHERE dateord BETWEEN date('".$a."') and date('".$b."' AND stats = '".$c."' order by dateord DESC"
于 2013-11-06T09:34:07.127 に答える
0

このようなものは、時間部分を含めるために機能する場合があります

SELECT * FROM delivered WHERE dateord >='$a' and dateord<date_add('$b',interval 1 day)
于 2013-11-06T07:52:45.317 に答える
0

dateord が日付またはタイムスタンプ フィールドの場合は、このようにしてください。

SELECT * FROM delivered WHERE dateord 
BETWEEN '".$a."' and '".$b."' AND stats = '".$c."' 
ORDER BY dateord DESC
于 2013-11-06T07:55:12.987 に答える