在codeigneter中按类型输入框显示数据库中的数据
display data from database by type input box in codeigneter
我有一些代码,这个代码正在运行,我可以在这里的代码中使用它这是我的数据库
====================
= id = type = name =
====================
= 1 = 3 = adam =
= 2 = 2 = julia =
====================
我的数据库,名称是客户这是我的控制器
{ $data['customer'] = $this->usermodel->get_all_customer();
$this->template->set('title','Tambah User Baru | MyWebApplication.com');
$this->template->load('template','indoprisma/pemesanan',$data);
}
和我的型号
function get_all_customer()
{
$this->db->from('customer');
return $this->db->get();
}
这是我的观点
<?php
$jsArray = "var prdName = new Array();'n";
echo '<select name="id_cus" onchange="changeValue(this.value)">';
echo '<option>-------</option>';
foreach($customer->result() as $row)
{
$array_customer[$row->id] = $row->id;
echo "<option value = ".$row->id.">".$row->id."</option>";
$jsArray .= "prdName['" . $row->id . "'] = {name :'" . addslashes($row->name) . "' ,type :'" . addslashes($row->type) . "'};'n";
}
echo '</select>';
?>
<script type="text/javascript">
<?php echo $jsArray; ?>
function changeValue(id){
document.getElementById('name').value = prdName[id].name;
document.getElementById('type').value = prdName[id].type;
};
</script>
<input name="name" type="text" id="name" size="20" readonly="readonly" />
<input name="type" type="text" id="type" size="20" readonly="readonly" />
我想把这个组合框改成一个输入框,请帮我
我看到了这里的问题,你试图通过PHP创建JavaScript,然后将其嵌入到脚本中,最重要的是,创建你并不真正需要的对象。。这里有很多问题。您永远不应该尝试通过PHP创建JavaScript。这就是我要做的修复它:
-
您的模型应该返回一个
result()
。所以你需要这样改变:function get_all_customer() { $this->db->from('customer'); $q = $this->db->get(); return $q->result(); ///change }
-
您的视图应该是更多的HTML,并且尽可能少地使用PHP。此外,使用PHP的函数,在这种情况下,
json_encode()
将派上用场。像这样重做:<select name="id_cus" onchange="changeValue(this.value)"> <option>-------</option> <?php foreach ($customer as $row) { ?> <option value='<?= json_encode($row) ?>'><?= $row->id ?></option> <?php } ?> </select> <input name="name" type="text" id="name" size="20" readonly="readonly" /> <input name="type" type="text" id="type" size="20" readonly="readonly" />
-
最后,你的Javascript是这样的:
<script> function changeValue(value) { var obj = JSON.parse(value); document.getElementById('name').value = obj.name; document.getElementById('type').value = obj.type; } </script>
让我知道这是否适合你。
我希望我的方法能帮助你,下面是我如何解决与你相同的问题:
- 对于控制器,您的是正确的
- 对于模型,我认为应该是这样
function get_all_customer()
{
$hsl = $this->db->query("Select * FROM customer")->result();
return $hsl
}
- 对于编码视图,我是这样想的
<select name="id_cus" onchange="changeValue(this.value)">
<option value="0">-------</option>
<?php
$jsArray = "var prdName = new Array();'n";
foreach($customer as $row)
{
echo "<option value = ".$row->id.">".$row->id."</option>";
$jsArray .= "prdName['" . $row->id . "'] = {namee :'" . addslashes($row->name) . "' ,typee :'" . addslashes($row->type) . "'};'n";
}
?>
</select>
<input name="name" type="text" id="name" size="20" readonly="readonly" />
<input name="type" type="text" id="type" size="20" readonly="readonly" />
<script type="text/javascript">
<?php echo $jsArray; ?>
function changeValue(id){
document.getElementById('name').value = prdName[id].namee;
document.getElementById('type').value = prdName[id].typee;
};
</script>
希望我的意见能帮助您进行编码:)
Selamat pagi。
顺便问一下,为什么需要将其转换为输入?
那个组合框正在检索多个数据记录吗?
如果是,则不得将其更改为输入。
如果你想要,试试这个:
$jsArray = "var prdName = new Array();'n";
$customer->result() as $row;
$array_customer[$row->id] = $row->id;
echo "<input type='text' name='id_cus' onchange='changeValue(this.value)' value = " . $row->id . ">";
$jsArray .= "prdName['" . $row->id . "'] = {name :'" . addslashes($row->name) . "' ,type :'" . addslashes($row->type) . "'};'n";
相关文章:
- AJAX,用于显示数据库数据
- 使用模式消息/窗口显示数据库记录
- 从下拉框中选择用户信息,并使用进度计数器显示数据库中的选定项目
- 如何在每次在 php 中单击提交时逐个显示数据库中的项目
- 在 HTML 页面上显示数据库表,而无需离开 HTML 页面
- 在 PHP 的 javascript 函数中显示数据库的行值
- 在codeigneter中按类型输入框显示数据库中的数据
- 使用nl2br用换行符显示数据库中的数据
- 如何在引导工具提示中显示数据库消息
- 如何显示数据库中的拆分日期
- 显示数据库中的图像平铺
- 单击时动态显示数据库信息
- 我想显示数据库中的数据.如果我们新添加一个表单数据,我想附加显示的新帖子而不使用代码点火器刷新
- 显示数据库中的标记
- 如何使用jquery和javascript显示数据库中的菜单项
- 显示数据库 MySQL 描述字段中的 125 个单词
- 当用户从下拉列表中选择值时,如何在文本字段中显示数据库值
- MVC - 在“选择缩略图”上,显示数据库中的数据
- Javascript 页面不显示数据库值
- 如何防止下拉显示数据库中的值