亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更新 SQL 表中的復選框值

更新 SQL 表中的復選框值

PHP
瀟湘沐 2022-09-17 15:24:58
我可以顯示來自SQL查詢的復選框值,但我無法更新它們,我只能更新取消勾選值(0值),如果我取消選中復選框,它可以將取消勾選值0保存到SQL表中。如果我重新選中該復選框,則無法更新 SQL 查詢中的值。我使用 int 作為數據類型。下面是來自我的測試系統的示例代碼:復選框:<div class="form-group col-lg-6"><label class="control-label col-lg-4">Pricing<span style="color:red;">&nbsp;</span></label><div class="col-lg-8">    <input type="checkbox" name="rm_option" id="rm_option" value="1"><strong> RM </strong></input>&nbsp;&nbsp;&nbsp;    <input type="checkbox" name="point_option" id="point_option" value="1"><strong> Full Point </strong></input>&nbsp;&nbsp;&nbsp;    <input type="checkbox" name="partial_option" id="partial_option" value="1"><strong> Partial Point + RM </strong></input></div></div>復選框回聲編輯功能:<?php$sql = "select * from promotion_list where id=" . $_GET['id'];$arr_sql = db_conn_select($sql);foreach ($arr_sql as $rs_sql) {    foreach ($rs_sql as $key => $value) {        ?>                                $("#<?php echo $key ?>").val("<?php echo $value ?>");                                    <?php if($value == 1){ ?>$("#<?php echo $key ?>").attr("checked", true).prop("checked", true);<?php } ?>        <?php    }    ?>                            $("#filter_id").val('<?php echo $rs_sql['id'] ?>');                            $("#promotion_content").jqteVal('<?php echo $rs_sql['promotion_content'] ?>');                            $("#promotion_terms").jqteVal('<?php echo $rs_sql['promotion_terms'] ?>');                            $("#promotion_instruction").jqteVal('<?php echo $rs_sql['promotion_instruction'] ?>');                            $("#promotion_policy").jqteVal('<?php echo $rs_sql['promotion_policy'] ?>');    <?php}?>
查看完整描述

1 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

對于復選框,如果選中該復選框,則數組元素存在(并且 = 1),否則它不存在。所以改變$_POST


$rm_option = isset($_POST['rm_option']) ? $_POST['rm_option'] : ""; 

$point_option = isset($_POST['point_option']) ? $_POST['point_option'] : "";

$partial_option = isset($_POST['partial_option']) ? $_POST['partial_option'] : "";


$rm_option = isset($_POST['rm_option']) ? 1 : 0; 

$point_option = isset($_POST['point_option']) ? 1 : 0;

$partial_option = isset($_POST['partial_option']) ? 1 : 0;

并且您也應該能夠更新0值。請注意,如@SergheiLeonenco所說,由于這些是數值,因此在查詢中不需要用引號將它們括起來。


強制 SQL 注入注釋。


由于您直接在查詢中使用值,因此容易受到 SQL 注入的攻擊。您應該閱讀如何在PHP中防止SQL注入,并轉到準備好的語句以保護自己。$_POST


查看完整回答
反對 回復 2022-09-17
  • 1 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號