Т.е. id он определяет верно, а вот value с кнопки не видит :(И не должен, кнопка не является инпутом, соответственно не будет передаваться в списке данных формы и не имеет стандартного поля валуе, по этому и через скрипт не будет прочитан верно. Для этого и надо консолить переменные перед отправкой аяксом. Данные в кнопке храните в дата атрибуте, и вытаскивайте соответствующе.
И да, header в php я убрал, чтобы не срабатывал редирект.Редирект там и так срабатывать не будет, просто вызывая еще один варнинг, который либо будет засорять лог, либо мешать обработке ответа сервера в аякс респонсе.
$('button[name="couriers"]').on('click', function() { // лучше вешать на формы и слушать событие субмита,
//тогда можно остановить действие по умолчанию и сделать любую дополнительную логику
// $('form').on('submit', function(e) { // ловим событие формы в (е)
// e.preventDefault(); // останавливаем отправку формы
let $row = $(this).closest('tr'); // это уже совсем не нужно
let data = $row.find('input, select').serialize(); //тут меняем на
// let data = $(this).serialize(); // сразу получаем все значения формы в объект data
$.ajax({
type: "POST",
url: "courier.php",
data: data
}).done(function() { // тут лучше заменить на .success(), это будет работать более логично
//}).success(function(responce){ //обращаю внимание на responce - это переменная
// в которую попадет ответ сервера
//if(responce == 'ok') alert("Данные сохранены"); //если в courier.php после всех операций
//все хорошо - делаем echo 'ok'; exit; и это ok попадает в responce
//else alert(responce); // если на сервере что то пошло не так то делаем echo 'каркул!'; exit;
//})
alert("Данные сохранены"); //а тут у вас независимо от результата работы сервера тупо будет алерт.
// как вы понимаете он тут уже не нужен
});
return false;
});
Вот именно я гуглю и никакой метод не работает.
2.2 Убедиться в том, что в сети Интернет, и на страницах Сервиса в частности, отсутствуют ответы на данный вопрос., а так же
5. Категорически запрещается размещать на страницах Сервиса:
...
5.12. Задачи и задания. В отличие от вопроса, задача и задание представляют собой частную проблемную ситуацию с явно заданной целью, которую необходимо достичь. Пользу от достижения этой цели получает, как правило, лишь её автор. И даже автору решение задачи или задания будет полезно лишь кратковременно (до тех пор, пока он не использует полученное решение).
Каждый такой объект полностью одноразовый – либо совершает запрос и получает ответ, либо выбрасывается Exception.И зачем такое? Это все равно что заряжать калаш запалом, порохом, пыжом и пулей через дуло.
SELECT SUM(hours) FROM `user_dolg` GROUP BY `date`, `user_id`
Внимательнее с синтаксисом Ибо данное отображение товара, при большем может сбоить.абсолютно так же как и отдельная страница, они же одинаково запрашиваются, какая разница? Серверу фиолетово как вы будете отображать данные - на страничке или в попапе, он абсолютно одинаково сделает выборку из миллиона(или миллиарда)товаров, при условии что мощности сервера достаточно и код в порядке.
Если есть именно необходимость тюнить настройки мускуля - https://launchpad.net/mysql-tuning-primer попробуйте такой инструмент.