Обновите поля базы данных mysql с помощью datepicker jquery ajax Переполнение стека

  1. Как я могу обновить поля MySQL без обновления страницы, из списка результатов из базы данных.
  2. С помощью DatePicker
  3. На одной странице .php?

Пример:

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>

2

Решение

Я предполагаю, что вы спрашиваете, что вы хотите, чтобы средство выбора даты обновляло вашу таблицу 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-инъекция. Даже если вы используете параметризованные запросы, это все равно хорошая идея.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector