2016-12-13 10 views
0

私はこのように人の役割を示す「ロール」という列を持つテーブルを持っています。「1,3,6 ..」とこのロール名を持つ他のテーブルどんなidも役割と一致します。行の値に応じてチェックボックスとチェックボックスを復元する方法1,2,5,6

私はすべてのロールをチェックボックスとして表示しようとしており、その人にこれらのロールがあるかどうかをチェックしています。

私は爆縮で試していましたが、結果なしで爆発しました。あなたは私を導くことができますか?

<input type="checkbox" name="roles[]" value="'.($row['id']).'" >'.($row['name']).'</input> 
+0

を試してみてくださいあなたは、小枝や何かのようなテンプレートエンジンを使用していますか? implode/explode-partは、そのコード行の周りになければならず、それはあなたが求めているものですよね? SOの人々があなたを助けることができるように周囲のコードを提供してください。 – Fuzzzzel

+0

こんにちはファズ、ポイントは私は別のものを試していたが、何も動作しません..私はそれを作るための最良の方法を知りたい – CosmicDisco

+0

私は理解しますが、その質問に答えるには、返されるテンプレートをどのように作成する必要があります。もちろん、あなたの "役割"を爆発させた後、配列を歩くループを使うこともできます。だから、$ row-Arrayには、 "1,3,6、..."のような文字列を含む名前とID以外の列がありますか、または "other"テーブルの$ rowの1行ですか?おそらく、あなたが表示しようとしているデータセットの例を(テーブルなどに)与えることができます。 – Fuzzzzel

答えて

0

どこのコードのこの部分の周りにループがある?この

$user_id = $_REQUEST['user_id']; 
    $user_role = array(); 
    $result = mysql_query("SELECT role_id FROM user_role where user_id = '$user_id' "); 
    while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { 
      $user_role[] = explode(',' $row['role_id']); 
    }// end while 

    $getRoleList = mysql_query("select role_id, role_name from role "); 
    while ($roleRow = mysql_fetch_array($getRoleList, MYSQL_BOTH)) { 
       if(in_array($roleRow['role_id'], $user_role)){ 
        echo '<input type="checkbox" name="roles[]" value="'.($roleRow['role_id']).'" checked="checked">'.($roleRow['role_name']); 
       }else{ 
        echo '<input type="checkbox" name="roles[]" value="'.($roleRow['role_id']).'" >'.($roleRow['role_name']); 
       }// end if 
    }// end while 
関連する問題