Я создаю страницу, которая выглядит следующим образом:
Какова цель :
Что я сделал до сих пор:
<div class="input-group col-md-8 col-sm-8 col-xs-8"> <input type="text" class="form-control date"> <span class="input-group-addon calendar-date-picker"> <i class="glyphicon glyphicon-calendar"></i> </span> </div>
(…)
this is cool :<p> <?php print_r($_POST);?> </p> <div class="results-ajax"></div>
, Он использует «дату» в классе ввода для открытия календаря datepicker .
, Он имеет конкретный div с одним классом «results-ajax», где отображается вход, генерируемый скриптом .
jQuery(function($) { $(".date").datepicker({ onSelect: function(dateText) { display("Selected date: " + dateText + "; input's current value: " + this.value); $(this).change(); } }).on("change", function() { display("Got change event from field"); $.ajax({ type: "POST", url: 'events_script.php', data: ({dates: this.value}), success: function(data) { $('.results-ajax').html(data); alert(data); } }); }); function display(msg) { $("<p>").html(msg).appendTo(document.body); } });
, После получения новой даты результаты отображаются ниже в разделе «Результаты» . ,
, Вызов Ajax отправляется в events_script.php .
<?php include 'config/config.php'; include 'libraries/database.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { print_r($_POST); echo $_POST[dates]; $dias= $_POST[dates]; $mysql_date = date('Ym-d', strtotime($dias));
// Создание запроса к базе данных
$sql = "SELECT * FROM events left JOIN companies ON companies.companyID = events.Ref_ID AND companies.Ref_Type = events.Ref_Type WHERE events.Start_Date= '".$mysql_date."' ORDER BY events.Start_Date DESC"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) {
// выводить данные из каждой строки
while ($row = mysqli_fetch_assoc($result)) { echo '<p>It works!</p>'; }
} else { echo 'No results found.'; } } ?>
Результаты :
1. Результат предупреждения в Ajax (используя скрипт PHP):
Спасибо вам за помощь! Он работает с использованием упомянутого здесь кода
Вам нужно преобразовать дату в формат MySql, вот как это сделать:
function date_convert($value,$fromFormat,$toFormat){ try{ $myDateTime = DateTime::createFromFormat($fromFormat, $value); if ($myDateTime) return $myDateTime->format($toFormat); } catch (Exception $ex) { return ''; } } // this supposes that by 01/03/2017 you're talking about the 1st of Mars // if you mean the 3rd or January change the from format to : 'm/d/Y' $dias = date_convert($dias,'d/m/Y','Ym-d');