我使用下面的函数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>
我无法弄清楚的问题是如何将结果放入一个下拉菜单中。我试图附上一个显示stdClass数组的屏幕截图和foreach($ mifs为$ mif)创建的五个下拉列表,但这是我的第一篇文章,而Stackoverflow.com要求我有10个声誉来发布图像...
我用PDO_ASSOC以及PDO_OBJ尝试了这个,但我仍然得到了五个下拉列表。
这一定是问题:id?&gt;&#34;&gt; color?&gt;代码,但我无法找到更正来获得一个下拉列表。
感谢任何帮助,提前谢谢!
答案 0 :(得分:1)
请仅在循环内放置选项
<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>