iT邦幫忙

0

怎麼給管理員設定權限?修改遇到問題,沒辦法下 WHERE...?

HTML

<? while ($row = mysqli_fetch_array($permission_data)){?>
            <tr>
              <td class="manager"><?=$row['name'];?></td>
              <td class="manager">
                <input value="1" <?=$row['sta']==1 ? 'checked' : '';?> type="checkbox" name="sta[]" id="sta<?=$row['permission_id'];?>"><label for="sta<?=$row['permission_id'];?>">✓</label></td>
              <td class="manager">
                <input value="1" <?=$row['rpt']==1 ? 'checked' : '';?> type="checkbox" name="rpt[]" id="rpt<?=$row['permission_id'];?>"><label for="rpt<?=$row['permission_id'];?>">✓</label></td>
              <td class="manager">
                <input value="1" <?=$row['prd']==1 ? 'checked' : '';?> type="checkbox" name="prd[]" id="prd<?=$row['permission_id'];?>"><label for="prd<?=$row['permission_id'];?>">✓</label></td>
              <td class="manager">
                <input value="1" <?=$row['odr']==1 ? 'checked' : '';?> type="checkbox" name="odr[]" id="odr<?=$row['permission_id'];?>"><label for="odr<?=$row['permission_id'];?>">✓</label></td>
              <td class="manager">
                <input value="1" <?=$row['usr']==1 ? 'checked' : '';?> type="checkbox" name="usr[]" id="usr<?=$row['permission_id'];?>"><label for="usr<?=$row['permission_id'];?>">✓</label></td>
              <td class="manager">
                <input value="1" <?=$row['blg']==1 ? 'checked' : '';?> type="checkbox" name="blg[]" id="blg<?=$row['permission_id'];?>"><label for="blg<?=$row['permission_id'];?>">✓</label></td>
              <td class="manager">
                <input value="1" <?=$row['stg']==1 ? 'checked' : '';?> type="checkbox" name="stg[]" id="stg<?=$row['permission_id'];?>"><label for="stg<?=$row['permission_id'];?>">✓</label></td>
              <td class="manager">
                <input value="1" <?=$row['mng']==1 ? 'checked' : '';?> type="checkbox" name="mng[]" id="mng<?=$row['permission_id'];?>"><label for="mng<?=$row['permission_id'];?>">✓</label></td>
            </tr>
          <?}?>

更新

foreach ($_POST['sta'] as $key) {
echo $key;
    }

現在我勾選三個,就打印三個1
欄位是知道要改哪,但根本不知道要改的對象是誰(管理員 編輯 訂單 商品 會計)

數據庫結構
https://i.imgur.com/C9Ks1iQ.png

於是我寫完之後發現
我竟然沒辦法下 WHERE 條件
所以我找不到使用者是給誰(管理員 編輯 訂單 商品 會計)修改了值 ?
於是我邏輯又死了。。。。。

0
Homura
iT邦高手 2 級 ‧ 2018-08-26 17:42:00
最佳解答

你要做成一次只能改一個對象
然後前便做一個Table先把所有對象列出來
然後每列有個button可以點進去
例如我要改編輯點button後會導入修改頁面
https://edit.php?name=編輯
然後再edit這頁就只能修改編輯這個對象

小松菜奈 iT邦研究生 4 級 ‧ 2018-08-26 17:42:47 檢舉

所以沒有辦法同時處理嗎?

Homura iT邦高手 2 級 ‧ 2018-08-26 17:44:49 檢舉

asys0512
可以
但是難度比較高
而且使用者容易亂掉....
一個一個對象改會比較好....

0
小魚
iT邦高手 1 級 ‧ 2018-08-26 17:06:35

連你都不知道了怎麼回答...
建議花點錢處理吧...

0

新增一個button,當勾選完checkbox,按下按鈕,把選到的id和值,用ajax一次傳到後端,
然後再進行更新。

var idAry = [];
var valAry = [];
$('input[name="mng[]"]:checked').each(function() {
   idAry.push($(this).attr('id'));
   valAry.push(this.value);
});
看更多先前的回應...收起先前的回應...
小松菜奈 iT邦研究生 4 級 ‧ 2018-08-26 18:12:50 檢舉

我現在的狀況是,可以選取,也能夠順利讓值從0變1,但不知道怎麼從1變0

1變0一樣丫,再送到php改回來,有什麼問題嗎?

Homura iT邦高手 2 級 ‧ 2018-08-26 18:52:14 檢舉

他應該是說checkbox在沒選取時不會傳值?

小松菜奈 iT邦研究生 4 級 ‧ 2018-08-26 19:41:52 檢舉

對,沒有 checked 的時候沒值,所以變不回0

$('input[name="mng[]"]').each(function() {
   if($(this).attr('checked')){
     
   }else{
       
   }
});
0
犬千賀
iT邦新手 5 級 ‧ 2018-08-27 10:46:54

有固定id,name直接給就好了 (動態才給[]
<input name="sta[$id]" >

我會寫這樣
<input name="arr[$id][sta]" >

我要發表回答

立即登入回答