Я пытаюсь под кодом, чтобы отфильтровать значения на основе From & по дате, но когда я нажимаю кнопку поиска, его просто освежающую страницу и отображающую ту же страницу. Но не отображающие отфильтрованные результаты ....Результаты фильтрации, основанные на From & To Date
PHP
$reg_user='';
$post_at = "";
$post_at_to_date = "";
$queryCondition = "";
if(!empty($_POST["search"]["post_at"]))
{
$post_at = date('Y-m-d 0:0:0',strtotime($_POST["search"]["post_at"]));
$post_at_todate = date('Y-m-d:59:59:59');
if(!empty($_POST["search"]["post_at_to_date"])) {
$post_at_to_date = date('Y-m-d 59:59:59',strtotime($_POST["search"]["post_at_to_date"]));
$post_at_todate = $post_at_to_date;
}
$queryCondition .= "WHERE post_at >= '" . $post_at . "' AND post_at <= '" . $post_at_todate . "'";
$reg_user = new USER();
$stmt = $reg_user->runQuery("SELECT * FROM order_details ".$queryCondition);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$stmt->execute();
HTML
<form name="frmSearch" method="post" action="">
<input type="text" placeholder="From Date" id="post_at"
value="<?php echo $post_at; ?>" name="search[post_at]" />
<input type="text" placeholder="To Date" id="post_at_to_date" value="<?php echo $post_at_to_date; ?>"
name="search[post_at_to_date]" onkeyup="doFilter()" />
<input type="submit" name="search" value="search" >
сценарий
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script src= "http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.js"></script>
<script>
$.datepicker.setDefaults({
showOn: "button",
buttonImage: "datepicker.png",
buttonText: "Date Picker",
buttonImageOnly: true,
dateFormat: 'yy-mm-dd'
});
$(function() {
$("#post_at").datepicker();
$("#post_at_to_date").datepicker();
});
</script>
имя столбца даты: created_at
, имя таблицы - order_details
. Я совершенно не знаком с php, пожалуйста, помогите мне.
Редактировать
, когда я попытался var_dump($post_at); var_dump($post_at_to_date);
, это дало результат: string(0) "" string(0) ""
Edit 2 я пытаюсь ниже кода, теперь var_dump отображает результаты, но значения не фильтрации на основе выбранного От & Для Дата
echo "<pre>";print_r($_POST);
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$reg_user='';
$post_at = "";
$post_at_to_date = "";
$queryCondition = "";
if(!empty($_POST["post_at"]))
{
$post_at = date('Y-m-d 0:0:0',strtotime($_POST["post_at"]));
$post_at_todate = date('Y-m-d:59:59:59');
if(!empty($_POST["post_at_to_date"])) {
$post_at_to_date = date('Y-m-d 59:59:59',strtotime($_POST["post_at_to_date"]));
$post_at_todate = $post_at_to_date;
}
$queryCondition .= "WHERE post_at >= '" . $post_at . "' AND post_at <= '" . $post_at_todate . "'";
}
$sqlquery = "SELECT * FROM order_details $queryCondition";
$result = $conn->query($sqlquery);
if ($result->num_rows > 0) {
echo $result->num_rows.'result found'."<br>";
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - date: " . $row["post_at"];
echo "<br>";
}
} else {
echo "0 results found <br>";
}
$conn->close();
форма
<form name="frmSearch" method="post" action="">
<input type="text" placeholder="From Date" id="post_at" value="" name="post_at" />
<input type="text" placeholder="To Date" id="post_at_to_date" value="" name="post_at_to_date" />
<input type="submit" name="search" value="search" />
</form>
сценарий
jQuery.datepicker.setDefaults({
showOn: "button",
buttonImage: "datepicker.png",
buttonText: "Date Picker",
buttonImageOnly: true,
dateFormat: 'yy-mm-dd'
});
$(function() {
$("#post_at").datepicker();
$("#post_at_to_date").datepicker();
});
результат:
Array
(
[post_at] =>
[post_at_to_date] => 2016-11-17
[search] => search
)
24result найдено
Примечание: Undefined индекс: идентификатор в echo "id: " . $row["id"]. " - date: " . $row["post_at"];
& отображение одной и той же страницы.
ID: - Дата: 0000-00-00 00:00:00
Диапазон времени не может быть от '0: 0: 0' до' 59: 59: 59' – Blinkydamo
@Blinkydamo спасибо, тогда какой код мне нужно заменить тем, что .... он был в [это tutorial] (http://phppot.com/php/php-mysql-date-range-search-with-jquery-datepicker/) –
Нет, где в этом фрагменте кода есть время. Я использую поле даты, я полагаю, вы пытаетесь изменить его на datetime. Если вы хотите разместить там время, используйте «00: 00: 00» и «23: 59: 59», иначе измените формат базы данных только на дату. – Blinkydamo