假设有一个表 FRUITS:
mysql> select * from FRUITS;
+---------+-----------+
| fruitid | fruitname |
+---------+-----------+
| 1 | Orange |
| 2 | Apple |
| 3 | Pear |
| 4 | Banana |
+---------+-----------+
4 rows in set (0.02 sec)
我有一个包含表单的视图文件。
在这里,我有一个列表,用户可以在其中选择他想要的食物,所以在用户选择“水果”的情况下,我从表 FRUITS 中获取数据并填写一个组合框....
用户填写表格后,一些表格将被更新。在此过程中,当用户在食物列表中选择水果时,我需要查阅 FRUITS 表中的数据并填写一个组合框....
如果我不使用 Codeigniter,我可以使用
<?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
当用户在表单中选择水果选项时...