Пример:
order_report.php
$query = $this->db->query("select order_id,
date_format(date_payed,'%d-%m-%Y') as date_payed,
from oc_order");
***code left out to save space***
foreach ($res as $orders) {
print $orders['order_id'];
<input type="text" name="datepicker" id="datepicker" value="<?php echo $orders['date_payed']; ?>"/>
$query = $this->db->query("update oc_order SET date_payed='$datepicker' WHERE order_id='$orders['order_id'];'");
}
Jquery
<script>
$(document).ready(function() {
$("#datepicker").datepicker({
dateFormat: 'yy-mm-dd'
});
})
</script>
Я предполагаю, что вы спрашиваете, что вы хотите, чтобы средство выбора даты обновляло вашу таблицу MySQL, когда вы выбираете дату без необходимости обновлять эту страницу. Код, который вы предоставили, немного сбивает с толку, но я собрал кое-что, что может помочь.
Я предполагаю, что input
Поле, которое находится в вашем коде, на самом деле должно быть HTML, где вы получаете значение.
Что касается хранения всего на одной странице … Я не думаю, что это будет возможно. Для достижения наилучших результатов вам придется сделать новый .php
страница, чтобы принять значение DatePicker, который передается через $.ajax
позвони, где сказано date
, Если вы сделали это на той же странице, есть вероятность, что вы можете получить кучу нежелательных HTML-данных, возвращенных вам через data
параметр в success
функция, но она, скорее всего, выдаст ошибку и получит error
функция обратного вызова.
В этом примере я назвал страницу php process_date.php
,
HTML:
<input type="text" id="datepicker" value="<?php echo $orders['date_payed']; ?>"/>
JS:
<script type="text/javascript">
$(document).ready(function () {
$("#datepicker").datepicker({
dateFormat: "yy-mm-dd",
onSelect: function () {
var date = $("#datepicker").val();
$.ajax({
type: "POST", //or GET. Whichever floats your boat.
url: "path/to/process_page.php",
data: { date: date },
success: function(data) {
alert(data);
//Write code here for you successful update (if you want to)
},
error: function() {
alert("Error.");
}
});
}
});
});
</script>
PHP (process_date.php)
<?php
$date = $_POST['date']; //if you used GET in your ajax, then use $_GET here instead$query = $this->db->query("select * from oc_order");
***code left out to save space***
foreach ($products as $orders) {
print $orders['order_id'];
$query = $this->db->query("update oc_order SET date_payed='$date' WHERE order_id='$orders['order_id'];'");
echo "Success";
}
?>
Примечание: не говорите, что вы этого не сделали, но не забывайте всегда дезинфицировать ваши данные PHP перед отправкой на сервер, чтобы избежать атак через SQL-инъекция. Даже если вы используете параметризованные запросы, это все равно хорошая идея.
Других решений пока нет …