Php 如何使用选中值和未选中值更新多行?
我的桌子结构像Php 如何使用选中值和未选中值更新多行?,php,mysql,Php,Mysql,我的桌子结构像 id | user_id | notification_id | is_email_opted | is_sms_opted 1 88 10 0 0 1 88 12 1 0 我有这样的复选框 <td><h6>Work Order</h6></td> &
id | user_id | notification_id | is_email_opted | is_sms_opted
1 88 10 0 0
1 88 12 1 0
我有这样的复选框
<td><h6>Work Order</h6></td>
<input type="checkbox" name="email_job" id="email_job">
<input type="checkbox" name="work_order_email" id="work_order_email" checked disabled value="1"></label></td>
<input type="checkbox" name="work_order_sms" id="work_order_sms" value="1"></label></td>
</tr>
到目前为止你试过什么?您应该发布处理此表单所用的PHP代码。如果它正常工作,那么问题出在哪里?@epodax:我曾想过稍微减少代码结构,但我想知道有没有办法做到这一点,同时我明白您为什么要这样做,需要记住的一点是,您需要在可读性和代码最小化之间保持良好的平衡,这意味着如果您使代码更短/更小,可能更难理解,这不是一件好事。@epodax:如何使用选择查询(如foreach$notification_type as$id{echo/>循环复选框
<input type="hidden" name="sms_job_notify" id="sms_job_notify" value="0">
<input type="hidden" name="email_job_notify" id="email_job_notify" value="0">
<input type="hidden" name="work_order_sms_notify" id="work_order_sms_notify" value="0">
<input type="hidden" name="deal_email_notify" id="deal_email_notify" value="0">
if($email_job || $sms_job ){
$update_data = array("is_email_opted"=>$email_job,"is_sms_opted"=>$sms_job);
$this->db->where("notify_type_id",10);
$this->db->where("user_id",$this->session->userdata('user_id'));
$this->db->update("user_notification", $update_data);
echo $this->db->last_query();
}else{
$update_data = array("is_email_opted"=>0,"is_sms_opted"=>0);
$this->db->where("notify_type_id",10);
$this->db->where("user_id",$this->session->userdata('user_id'));
$this->db->update("user_notification", $update_data);
echo $this->db->last_query();
}
if($work_order_sms ){
$update_data = array("is_sms_opted"=>$work_order_sms);
$this->db->where("notify_type_id",11);
$this->db->where("user_id",$this->session->userdata('user_id'));
$this->db->update("user_notification", $update_data);
echo $this->db->last_query();
}else{
$update_data = array("is_sms_opted"=>0);
$this->db->where("notify_type_id",11);
$this->db->where("user_id",$this->session->userdata('user_id'));
$this->db->update("user_notification", $update_data);
echo $this->db->last_query();
}