public function save(){
return $this->db->save($this);
}
public function save(){
return $this->db->save($this->getDataSet());
}class Customer extends BaseObject{...). Так как данные для всех примерно одинаково читаются/сохраняются. Как выше написал dmitriy, креэйт и упдэйт по сути отличаются мало, в модели их не нужно разделять, а в объекте дб уже смотрите - если есть поле id - то упдэйт, если нет - инсерт.
класс Customer работатет со своей таблицей в бд. Делает в ней все сам и возвращает данные в виде массива. Разве не такая должна быть идея?нет, идея взять таблицу, получить из нее данные, данные хранить в свойствах объекта, ничего возвращать не нужно, данные и так будут доступны из свойств объекта.
Есть не большой сайт по поиску ссузов на htmlна хтмл вы навряд ли реализуете какой-то серьезный функционал, хотя на яваскрипте что-то подобное можно реализовать и без серьезного бэкэнда, но в вашем вопросе ничего конкретного нет, вопрос слишком общий, из области "как сделать синхрофазатрон", конкретизируйте вопрос.
подскажите какую настройку нужно проверить?я бы все же первым делом эксплейн погонял, смысл крутить настройки если дело в построителе запросов допустим.
Т.е. 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. Задачи и задания. В отличие от вопроса, задача и задание представляют собой частную проблемную ситуацию с явно заданной целью, которую необходимо достичь. Пользу от достижения этой цели получает, как правило, лишь её автор. И даже автору решение задачи или задания будет полезно лишь кратковременно (до тех пор, пока он не использует полученное решение).