我使用下面的函数getAllMifs(),它使用PDO::FETCH_OBJ返回一个名为$mifs的stdClass对象。
这是我的型号:
public function getAllMifs()
{
$sql = "SELECT id, color, L, A, B FROM pantonePlus2010";
$query = $this->db->prepare($sql);
$query->execute();
return $query->fetchAll();
}
这是我的控制器:
Class Mifs extends Controller
{
public function index()
{
echo 'Message from Controller: You are in the Controller: Mifs, using the method index().';
$mifs_model = $this->loadModel('MifsModel');
$mifs = $mifs_model->getAllMifs();
// load views. within the views we can echo out $mifs and $amount_of_mifs easily
require 'application/views/_templates/header.php';
require 'application/views/mifs/index.php';
require 'application/views/_templates/footer.php';
}
这是我的视图文件:
<div>
<?php foreach ($mifs as $mif) { ?>
<form name="mifselect" action="<?php echo URL . 'mifs/downloadmif/' . $mif->id; ?>">
<select name="mifselect">
<option value="<?= $mif->id ?>"><?= $mif->color ?></option>
</select>
<input type="submit" value="Submit">
</form>
<?php } ?>
</div>
我想不出的问题是如何将结果放入一个下拉菜单中。我试图附上一张屏幕截图,显示foreach($mifs为$mif)创建的stdClass数组和五个下拉列表,但这是我的第一篇文章,Stackoverflow要求我有10个信誉才能发布图像。。。
我已经用PDO_ASSOC和PDO_OBJ尝试过了,但我仍然得到了五个下拉列表。
这一定是问题所在:id?>">颜色?>代码,但我找不到只得到一个下拉列表的更正。
感谢您的帮助,提前感谢!
请仅在循环中放置选项
<div>
<form name="mifselect" action="<?php echo URL . 'mifs/downloadmif/' . $mif->id; ?>">
<select name="mifselect">
<?php foreach ($mifs as $mif) { ?>
<option value="<?= $mif->id ?>"><?= $mif->color ?></option>
<?php } ?>
</select>
<input type="submit" value="Submit">
</form>
</div>