php - 如何在编辑页面显示记录?
问题描述
我是 MySQL 新手,我正在使用 CodeIgniter。我有三个名为lead, document
和的表bank
。
现在我正在做的是,在lead
表格中我插入了唯一的客户个人信息。在document
表格中,我正在插入用户文档。在bank
表中,我正在插入银行记录。它可以是多个。
插入没有问题。我在从数据库中获取数据时遇到了问题。
现在表结构是
带领
id | name | mobile | email
1 | asdff |1234567831 |asd@gmail.com
2 | kjhgg |1231231231 |mnhg@gmail.com
3 | qwsde |1231233212 |oiuk@gmail.com
<!--many more-->
文档
doc_id |doc_name | doc_date | lead_id |date_of_added
1 |asdasd |2019-06-24 | 1 |2019-06-16 17:31:07
2 |oiuytr |2019-06-24 | 2 |2019-06-16 17:31:07
3 |okjhyt |2019-06-25 | 3 |2019-06-20 20:12:09
<!--many more-->
银行
bank_id | bankname | lead_id |date_of_added
1 | sdasdas | 1 |2019-06-20 11:41:34
2 | asdasdasd | 1 |2019-06-21 10:41:34
3 | asdakjkh | 2 |2019-06-21 14:23:12
4 | qwerfgvf | 1 |2019-06-21 23:56:25
<!--many more-->
到目前为止,该文件与银行之间没有任何联系。我应该使用 id 连接吗?
模型
public function getconfirmLeadinfo($id){
return $result = $this->db->select('*')
->from('lead')
->join('document','lead.id=document.lead_id','LEFT')
->join('bank','lead.id=bank.lead_id','LEFT')
->where('lead.id',$id)
->get()
->result();
}
我得到的输出是
Array
(
[0] => stdClass Object
(
[id] => 1
[name] => asdff
[mobile] => 1234567831
[email] => asd@gmail.com
[doc_id] => 1
[doc_name] => asdasd
[doc_date] => 2019-06-24
[lead_id] => 1
[date_of_added] => 2019-06-16 17:31:07
[bank_id] => 1
[bankname] => sdasdas
[lead_id] => 1
[date_of_added] => 2019-06-20 11:41:34
)
[1] => stdClass Object
(
[id] => 1
[name] => asdff
[mobile] => 1234567831
[email] => asd@gmail.com
[doc_id] => 1
[doc_name] => asdasd
[doc_date] => 2019-06-24
[lead_id] => 1
[date_of_added] => 2019-06-16 17:31:07
[bank_id] => 2
[bankname] => asdasdasd
[lead_id] => 1
[date_of_added] => 2019-06-21 10:41:34
)
[2] => stdClass Object
(
[id] => 1
[name] => asdff
[mobile] => 1234567831
[email] => asd@gmail.com
[doc_id] => 1
[doc_name] => asdasd
[doc_date] => 2019-06-24
[lead_id] => 1
[date_of_added] => 2019-06-16 17:31:07
[bank_id] => 4
[bankname] => qwerfgvf
[lead_id] => 1
[date_of_added] => 2019-06-21 23:56:25
)
)
现在我在编辑页面上,我必须显示数据。
if ($post){?>
<input type="text" name="name" value="<?php echo $post->name;?>">
<input type="text" name="mobile" value="<?php echo $post->mobile;?>">
<input type="text" name="email" value="<?php echo $post->email;?>">
<input type="text" name="doc_name" value="<?php echo $post->doc_name;?>">
<input type="text" name="doc_date" value="<?php echo $post->doc_date;?>">
how do I display my bank details here? should I use something like this
<?php
foreach ($result as $key => $value) {
<input type="text" name="bank[]" value="$value->bankname">
}
}?>
你能帮帮我吗?
解决方案
- 您必须从表中获取不同的记录,我可以看到结果重复所有细节都相同,为什么您不能使用 INNER JOIN 而不是 left。
- 您将使用 ->row() 而不是 ->result(); 获得单条记录;
- 然后您可以使用与您在编辑页面中相同的方法
使用 foreach
<?php
foreach ($result as $key => $value) {
if ($value){?>
<input type="hidden" name="id[]" value="<?php echo $value->id;?>">
<input type="text" name="name[]" value="<?php echo $value->name;?>">
<input type="text" name="mobile[]" value="<?php echo $value->mobile;?>">
<input type="text" name="email[]" value="<?php echo $value->email;?>">
<input type="text" name="doc_name[]" value="<?php echo $value->doc_name;?>">
<input type="text" name="doc_date[]" value="<?php echo $value->doc_date;?>">
<?php }
}
?>
推荐阅读
- java - 使用 Java api 进行弹性搜索查询
- list - 为什么输入时答案出乎意料?
- c - 大学任务:代数表达式提供超出预期的输出,用计算器检查计数器
- python - Azure Python SDK 中从 Scaleset 中删除 VM 的调用是什么
- swift - XCTest, XCTWaiter 等待乘法异常
- python - 以下程序的时间和空间复杂度是多少?- leetcode 1291
- html - CSS:如何防止锚链接在固定标题后面滚动?
- java - 将 SIM 设置为默认 SIM 以发送 SMS 消息并以编程方式在 android 中拨打电话
- javascript - 计算两个坐标之间的距离,考虑高度变化的短距离
- python - 如何在不使用相同用户名两次的情况下将用户名存储在 txt 文件中?