繁体   English   中英

使用 PHP MVC 框架,未填充从 db 到 select 框中的选定值

[英]Using PHP MVC framework, selected value from db into select box is not getting populated

我的 CONTROLLER 被命名为 Posts,

public function addmore(){
  
 if($_SERVER['REQUEST_METHOD'] == 'POST'){
 
        $Asystemtype=$this->postModel->fetchDoctype();
                            
        $data = [         
        'Asystemtype' => $Asystemtype,
        'Adoctype' =>   trim($_POST['Adoctype']) ];
          
        $this->view('posts/addmore', $data);
          
}         

我的 MODEL 被命名为 Post,

我有一个名为 systemtitles 的数据库表,其中包含名为 ID 和标题的列。

public function fetchDoctype(){
      $this->db->query('SELECT * FROM systemtitles');
      $results = $this->db->resultSet();
      return $results;
    }
    

我的 VIEW 名为 addmore

<form action="<?php echo URLROOT; ?>/posts/addmore" method="post" >
<div>
  <label for="Asystemtype">System Type: <sup>*</sup></label>
            <select id="systype" name="Asystemtype" class="form-control form-control-lg" value="<?php echo $data['Adoctype']; ?>">
            <?php foreach($data['Asystemtype'] as $Asystemtype) :?>
            <option value = "<?php echo $Asystemtype->titles;  ?>"> <?php echo $Asystemtype->titles;  ?> </option>
            <?php endforeach; ?>            
            </select>
</div>
<div>
<label for="Adoctype">Document Type: <sup>*</sup></label>
            <select id="doctype" name="Adoctype" class="form-control form-control-lg" value="<?php echo $data['Adoctype']; ?>">
                
            <option value="Select">Select Doc Type</option>
            <option value="HRS">HRS </option>
            <option value="HDD">HDD </option>
            </select>
</div>          

我试图启动我的网站,这些是观察结果,
我的 SELECT 盒子是空白的,什么都没有填充,为什么? 我从 controller 打印了 var_dump

var_dump($Asystemtype);

它正在呼应所有(在我的数据库中至少我有五行。)。 从 db 为 Asystemtype 填充我的 select 框所需的帮助。 我的 Adoctype 没有问题,因为我直接从表单中填充。

我发现了我的错误。 我所做的是从我的 controller 我发送一个空数据! 在我的 POST else 声明中有

else{ $Asystemtype=$this->postModel->fetchDoctype(); $data=[ 'Asystemtype' =>'', 'Adoctype' => ''];
$this->view('posts/addmore', $data);
 }

那是个错误。 也就是说,如果我没有发帖,那么它的值就是 'Asystemtype' =>'' 作为 null 值。 现在我更正为 'Asystemtype' => $Asystemtype 感谢 Alexander Dobernig 提出的宝贵建议/意见

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM