Я искал SO для ответа на этот вопрос, и хотя я могу найти ответы, касающиеся структуры Zend и AJAX, я не могу исправить свою проблему.Zend PHP простой AJAX
Я хочу удалить строку таблицы с помощью метода POST AJAX.
Моя причина для этого состоит в том, что мой веб-разработчик может больше вносить изменения в мой проект, поэтому мне нужно вмешаться и попытаться сделать что-то самостоятельно (так что я упущу некоторые очевидные вещи).
HTML:
<a class="btn btn-danger delete_request_button" data-rid="<?php echo $row['id']?>" data-did="<?php echo $row['dealer_id']?>" href="#delete_request_button" data-toggle="modal">Delete</a>
JQuery:
jQuery('.delete_request_button').click(function(){
var id = jQuery(this).attr('data-rid');
jQuery('#request_id').val(id);
jQuery.post('<?php echo $this->baseUrl("requests/delete")?>', { id: id }, function(response) {
}).complete(function(){
alert(id + ' deleted')
});
});
Контроллер:
function deleteAction()
{
$id = $this->getRequest()->getParam('id');
if($request->isPost()) {
$this->model_dealer->deleteRequest($id);
exit();
}
}
Модель:
public function deleteRequest($id)
{
$where = $db->quoteInto('id = ?', $id);
$db->delete('dealers_vehicle_requests', $where);
}
И вот мой стол:
CREATE TABLE `dealers_vehicle_requests` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`dealer_id` bigint(20) DEFAULT NULL,
`message` text,
`requested_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`status` char(1) DEFAULT 'P',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
Я понимаю, что это, вероятно, коллажи из ужасного кода, но я использую SO в качестве последнего попробуйте решить эту проблему.
Спасибо!
Edit: фиксированная
Модель:
public function deleteRequest($id)
{
$where = $this->dealers_subscriptions->getAdapter()->quoteInto('id = ?', $id);
$this->dealers_vehicle_requests->update(array('status' => 'D'), $where);
}
Контроллер:
function deleteAction()
{
$request = $this->_request;
$id = $request->getParam('id');
if($request->isPost()) {
$this->model_dealer->deleteRequest($id);
exit();
}
}
Все остальное хранится са меня.
Спасибо всем, что помогло с этим вопросом.
Ничто фактически не удаляется из базы данных.Я получаю предупреждение, например «9 удаленных», но когда я обновляю строку, все еще там, и база данных не изменяется. –