[英]selected value get from db into dropdown select box option using php mysql error
[英]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.