我想问一下条件之间的多重选择。
我已经制作了代码,但我的回调值有误。在我的php函数中,我在条件之间给出两个,第一个来自date_awal和date_akhir,第二个来自kode和kode_mat。但是当我运行该程序时,我从该日期得到错误的值。
(example : i want select date 21-08-2017 to 22-08-2017)
当我运行它时我得到了错误的价值。我刚刚从21-08-2017获得了数据,并且22-08-2017的数据没有显示,但是当我从21-08-2017 to 22-08-2017
更改日期时,我可以获得数据。而且有些东西让我感到困惑,我可以从kode1和kode2之间获得正确的价值。也许有人可以解决这个问题请帮帮我
这是我的php调用函数
<?php
include("../../Connections/koneksi.php");
$date_awal=$_POST['date_start'];
$date_akhir=$_POST['date_end'];
$kode=$_POST['kode_mat'];
$kode_mat=$_POST['kode_mate'];
$sloc=$_POST['s_loc'];
$s_loc=$_POST['s_loc1'];
$type=$_POST['get_type'];
//Display all data
$rows = array();
$sql = "SELECT * FROM wjm WHERE (date BETWEEN '$date_awal' AND '$date_akhir') AND (kode BETWEEN '$kode' AND '$kode_mat') order by kode asc";
$query = mysqli_query($db,$sql);
while($tmp= mysqli_fetch_assoc($query)) {
$rows[] = $tmp;
}
echo json_encode($rows);
&#13;
答案 0 :(得分:0)
看看,如果你的db中的列是datetime类型,那么日期“22-08-2017”实际上是“22-08-2017 00:00:00”那是一天的开始。白天的一切都不包括在内..
所以要通过两种不同的方式处理它:
1.$sql = "SELECT * FROM wjm WHERE (DATE(date) BETWEEN '$date_awal' AND '$date_akhir') AND (DATE(kode) BETWEEN '$kode' AND '$kode_mat') order by kode asc";
OR
2. $sql = "SELECT * FROM wjm WHERE date >= '$date_awal' AND date <= '$date_akhir' AND kode >= '$kode' AND kode <= '$kode_mat' order by kode asc";