假设有一个表格填写水果组合框:从表中获取数据,并根据选择值笨
mysql> select * from FRUITS;
+---------+-----------+
| fruitid | fruitname |
+---------+-----------+
| 1 | Orange |
| 2 | Apple |
| 3 | Pear |
| 4 | Banana |
+---------+-----------+
4 rows in set (0.02 sec)
我有一个包含表单的视图文件。
这里,我已经在那里用户选择他想要哪些食物,这样的情况下,用户选择“果实”我从桌子水果数据和填充组合框列表....
用户填写的后表格,一些表格将被更新。在这个过程中,我需要从水果表咨询的数据,当用户在食物的列表中选择水果填充组合框....
如果我没有使用笨,我可以用
<?php
$conn = mysql_connect('localhost','yourUsernameHere','yourPasswordHere');
mysql_select_db('testdb',$conn);
$query = "select fruitid,fruitname from FRUITS order by fruitname";
$result = mysql_query($query,$conn);
$selectbox='<select name=\'fruit\'>';
while ($row = mysql_fetch_assoc($result)) {
$selectbox.='<option value=\"' . $row['fruitid'] . '\">' . $row['fruitname'] . '</option>';
}
$selectbox.='</select>';
mysql_free_result($result);
echo $selectbox;
?>
到填写表单内的组合框,然后捕获该值并将其发送到其他表中插入数据...
我该如何对Codeigniter执行此操作,因为查询必须在控制器文件中完成...?
更新
让我们说我有
模型
class Fruits extends CI_Model {
function __construct()
{
parent::__construct();
}
function what_fruits()
{
$this->db->select('fruitname');
$this->db->from('FRUITS');
$q = $this->db->get('');
if($q->num_rows() > 0)
{
$data = array();
foreach($q->result() as $row)
{
$data=$row;
}
return $data;
}
}
}
控制器
class main_form_view extends CI_Controller
{
function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->view('main_form_view');
}
public function result()
{
$this->load->model('Fruits');
$data['fruitname'] = $this->Fruits->what_fruits();
}
}
意见main_form_view
<html>
<head></head>
<body>
<form method="post">
<select name="food" id="food" onchange="fill_cb_food(this.value);" >
<option value="0">fruits</option>
<option value="1">other1</option>
<option value="2">other2</option>
</select>
//response of ajax call display here.???
<div class="selectbox" id="id_fruits">
<select name="fruits" id="fruits">
<option value="">--Choose fruit--</option>
</select>
</div>
</form>
</body>
</html>
function fill_cb_food(id)
{
$.ajax({
type: "POST",
url: "main_form_view/result.php,
data: "fruit=" + fruitname,
success: function(html){
$("#id_fruits").html(html);
}
});
}
所以我希望得到一个组合框
Orange
Apple
Pear
Banana
当用户选择的形式水果选项...
您可以使用Ajax用于此目的,这将击中:
,那么你可以在视图文件做控制器方法指向模型方法 – 2013-03-07 07:42:36