php - CI : save values from hidden fields to another table

标签 php mysql codeigniter

我在 CI 框架中创建了一个包含 60 个字段的表单,并且数据库可以正常工作。现在我想分离一些字段并将其发送到另一个表,该表链接到主表(当然具有关系)。 所以我隐藏了一些字段,并在单选按钮选中"is"时显示它:

<!-- other fields -->
<div><label class="control-label" for="imp_status">3rd Party</label>
 <div class="controls">
  <table>
   <tr>
    <td><input type="radio" name="imp_status" id="imp_status_yes" value="1" onclick="javascript:importirCheck()"> Yes</td>
    <td><input type="radio" name="imp_status" id="imp_status_no" value="0" onclick="javascript:importirCheck()"> No</td>
   </tr>
  </table>
 </div>
</div>
<div style="display:none" id="info_imp">
 <fieldset> somefields </fieldset>
</div>
<!-- other fields -->

脚本:

function importirCheck() {
    if (document.getElementById('imp_status_no').checked) {
        document.getElementById('info_imp').style.display = 'none';
        $("#imp_status_no").val("");
    }
    else {
        document.getElementById('info_imp').style.display = 'block';
        $("#imp_status_yes").val("");
        $("#imp_comp_name").val("");
        ...
    }
}

View 正在工作,但现在我很困惑应该如何获取数据库的值(特别是从 imp_status 中,因为有 2 个 id)。表单末尾有一个保存按钮,它链接到另一个脚本。我从该脚本发送了其他值。 现在我有 table_primary (.., imp_status, id_imp,..) 和 table_imp (id_imp,...)。当没有第 3 方时,我希望 imp_status 列保存“0”并将 id_imp 设置为 NULL/0(在 table_primary 中)。但如果有第 3 方,imp_status 列应保存“1”并保存有关此第 3 方的所有信息(到具有主键 id_imp 的 table_imp)。 这是正确的方法吗(对于脚本)?我该如何修改模型和 Controller ? 这是我当前的 Controller (还没有 imp_status 和 id_imp):

...
$imp_comp_name=$this->input->post("imp_comp_name");
$this->form_m->set_imp_comp_name($imp_comp_name);
$imp_comp_dir=$this->input->post("imp_comp_dir");
$this->form_m->set_imp_comp_dir($imp_comp_dir);
...
$result = $this->form_m->insert();

这是我当前的模型:

// there are properties & setters
public function insert(){
   $sql = "INSERT INTO table_primary
          (...,imp_comp_name,...) VALUES (...,'".$this->imp_comp_name."',...)";
   return $this->db->query($sql);
}

我希望我的问题不会令人困惑。非常欢迎阅读和学习的链接,谢谢。

最佳答案

尽管您的问题有点令人困惑,但我正在尝试给出答案,您需要进一步的帮助,您可以用完整的源代码给我回信。

首先在服务器端,单选按钮的值将通过 $imp_status=$this->input->post('imp_status'); 值将是所选单选按钮的值,根据该单选按钮的值,您可以更新数据库并在两个表之间创建关系。

但是在您的询问中,您如何确定该形式中存在第三方,​​请详细说明以获取更多信息。

关于php - CI : save values from hidden fields to another table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31289478/

相关文章:

php - MySQL 查询 - 将 BLOB 的结果限制为 blob(行)中的 1 个唯一元素

CodeIgniter - 在数据库中插入一个 bool 值的新行

php - 如何在 PayPal 捐赠中添加特定金额

php - 重写YouTube网址

javascript - 传值到下一页

php - 更新错误 : Column count doesn't match value count at row 1

php - 共同好友查询

mysql - 使用 Angular、Node 和 mysql 实现 WebSockets

php - 当我刷新我的页面时,它会自动将值输入到数据库 Codeigniter

php - MySQL bool 类型