使用 AJAX & modal 从 PHP 更新 MySQL 记录

Update MySQL record from PHP using AJAX & modal

我正在尝试使用模态形式制作更新选项,我已经制作了“ADD New” - 工作正常,但更新有很多问题 - 我想在模态形式上查看实际数据以编辑它。你能帮我解决这个问题吗?我只需要功能部分的帮助。

这是我添加新代码的代码:

  public function dodajAction()
{
    $request = $this->getRequest();
    $jsonModel = new JsonModel();

    if ($request->isPost()) {
        $dane = $request->getPost();

        $formDodaj = new FormAdm\OfertaForm();
        $formDodaj->setData($dane);

        if ($formDodaj->isValid()) {
            // dodaj
            $this->oferta->dodaj($dane);

            $jsonModel->setVariables(['wynik' => true]);
        } else {
            // w razie błędu renderuj formularz
            $viewModel = new ViewModel(['form_dodaj' => $formDodaj]);
            $viewModel->setTerminal(true);
            $viewModel->setTemplate('admin/oferty/dodaj');

            $jsonModel->setVariables(['wynik' => false, 'html' => $this->renderer->render($viewModel)]);
        }
    }

    return $jsonModel;
}

这就是模态形式:

<div class="modal fade" id="modalDodajOferte" tabindex="-1" role="dialog" aria-labelledby="modalDodajOferteLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="modalDodajOferteLabel">Dodaj ofertę</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <?=$this->partial('admin/oferty/dodaj', ['form_dodaj' => $this->form_dodaj]) ?>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" id="btnDodajOferte">Dodaj</button>
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Zamknij</button>
            </div>
        </div>
    </div>
</div>

来自一位波兰同胞的建议,拜托!!!在代码中使用英文单词。这提高了可读性,特别是如果您遵循命名标准,稍后您可能会发现可以通过使用默认值来帮助您的工具。例如$form->offer->add() 比我们的本地 ->oferta->dodaj() 更容易被堆栈溢出的任何人阅读。

回到问题上来,您没有向我们提供任何方式来查看更新是如何在系统上执行的

我相信

if ($formDodaj->isValid()) {
        // dodaj
        $this->oferta->dodaj($dane);

        $jsonModel->setVariables(['wynik' => true]);

负责将实际数据发送到数据库,但是更新代码应该完全在不同的函数中,同样用于查看。

这听起来更像是一个 XY 问题,因此您可能需要重新考虑您实际需要我们帮助您的内容。