Я работаю над проектом запаса в PHP. В настоящее время при поиске в соответствии с датой он показывает данные в соответствии с датой поиска, которая хороша. Но та дата, которая не используется в базе данных, отображается пустой, в то время как мне нужны превалирующие данные даты. (Например, если i введите 25.12.2015, в результате в этом случае он должен отображать данные предыдущих дат, например, 23.12.2015.)
мой html-код:
<form action="dateview.php" method="post"> <table width="60%" border="2" bordercolor="green"> <tr> <td>DATE</td> <td> <input type="date" name="date"> </td> <td colspan="2"> <center><input type="submit" value="search"/></center> </td> </table> </form>
мой php-код:
<?php if($qw="select * from details where date='$date'"){ $qq = mysqli_query($con,$qw); while($r=mysqli_fetch_array($qq,MYSQLI_ASSOC)) { ?> <tr> <td><?php echo $r['itemname']; ?></td> <td><?php echo $r['deposit']; ?></td><td><?php echo $r['withdraw']; ?></td> <td><?php echo $r['total']; ?></td> <td><?php echo $r['approvedby']; ?></td> <td><?php echo $r['receivedby']; ?></td> <td><?php echo $r['givenby']; ?></td> <td><?php echo $r['receivedto']; ?></td> </tr> <?php } ?>
в<?php if($qw="select * from details where date='$date'"){ $qq = mysqli_query($con,$qw); while($r=mysqli_fetch_array($qq,MYSQLI_ASSOC)) { ?> <tr> <td><?php echo $r['itemname']; ?></td> <td><?php echo $r['deposit']; ?></td><td><?php echo $r['withdraw']; ?></td> <td><?php echo $r['total']; ?></td> <td><?php echo $r['approvedby']; ?></td> <td><?php echo $r['receivedby']; ?></td> <td><?php echo $r['givenby']; ?></td> <td><?php echo $r['receivedto']; ?></td> </tr> <?php } ?>
Просто настройте свой запрос SELECT
:
SELECT * FROM details WHERE date <= 'your-date-here' ORDER BY date DESC LIMIT 1
Вы можете использовать что-то вроде этого
date('Ym-d', strtotime("23.12.2015")); // o/p: 2015-12-23
Где формат «Ymd», который вы сохранили в БД.
См. Формат даты здесь.