programing

데이터베이스에서 검색한 정보를 양식 안에 삽입할 수 없습니다.

closeapi 2023. 9. 18. 21:25
반응형

데이터베이스에서 검색한 정보를 양식 안에 삽입할 수 없습니다.

저는 일반적으로 Nette와 php 프레임워크를 처음 접합니다.데이터베이스 내부 열에서 선택 가능한 옵션 목록을 가져오는 선택 메뉴가 있는 양식을 작성하려고 합니다.

<?php

declare(strict_types=1);

namespace App\Presenters;

use Nette\Application\UI;

class HomepagePresenter extends UI\Presenter
{


     /** @var Nette\Database\Context */

     private $database;

     public function __construct(\Nette\Database\Context $database)
     {
         $this->database = $database;
     }

    protected function createComponentCalculationForm(): UI\Form
    {
        $result=$this->database->query('SELECT supp_name FROM suppliers');
        foreach($result as $supplier){
            $supplierList[]=$supplier;
        }

        $form = new UI\Form;
        $form->addSelect('supplier', 'Dodavatel:',$supplierList);
        $form->addText('quantity', 'Ks')
             ->setRequired()
             ->addRule($form::INTEGER,"Hodnota musí být číslo" )
             ->addRule($form::MIN,'Číslo musí být kladné!',0);
        $form->addText('price', 'Kč')
             ->setRequired()
             ->addRule($form::INTEGER,"Hodnota musí být číslo" )
             ->addRule($form::MIN,'Číslo musí být kladné!',0);
        $form->addButton('calculate', 'Spočítat')
             ->setHtmlAttribute('onclick', 'calculatePrice()');
        $form->addTextArea('result');
        return $form;
    }

}

$form select 메뉴에 공급업체 목록이 포함되었으면 합니다.

$supplier변수들은 포함할 것이고, 당신은 당신이 저장할 것입니다.$supplierListarray.expects array. 여기서 값은 문자열화할 수 있는 것입니다.부터Row문자열화하는 것을 좋아하지 않으므로 목록에 수행할 작업을 추가해야 합니다.열을 추출하는 작업은 다음과 같이 수행됩니다.

        $result = $this->database->query('SELECT supp_name FROM suppliers');
        foreach($result as $supplier){
            $supplierList[] = $supplier['supp_name'];
        }

언급URL : https://stackoverflow.com/questions/57614987/unable-to-insert-the-information-retrieved-from-a-database-inside-a-form

반응형