如何在复选框中发送动态值

时间:2015-01-02 06:03:03

标签: php checkbox

早上好。我创建了一个表单来管理员创建一些具有一些权限的用户,我使用HTML复选框将这些权限存储在数据库中。该代码如下:

<label class="q" for="q1">Permission:</label><br>
 <div style="padding-left:170px;">
 <input name="q1[]" type="checkbox" value="1">Student Management<br>
  <input name="q1[]" type="checkbox" value="2">Department Management<br>
 <input name="q1[]" type="checkbox" value="3">Course Management<br>
 <input name="q1[]" type="checkbox" value="4">Transcript Management<br>
  <input name="q1[]" type="checkbox" value="5">Qr Code Printing<br>
  <input name="q1[]" type="checkbox" value="6">Settings<br>
  <input name="q1[]" type="checkbox" value="7">Upload Scaned Certificate<br>
  </div>
 /*php action page*/
   if(isset($_POST['submit']))
         { 
              $q1=implode(',', $_POST['q1']);


                 $qry="INSERT INTO user (permission)

                      VALUES (,'$q1')";

           }

权限存储成功,但问题是在尝试编辑权限时我无法存储已准备好存储在数据库中的默认值。代码是

           /*getting data from data base*/
           if ($result) {
          while ( $row = mysql_fetch_array($result) ) { 
               $q1= $row['permission'];
           }
           }

        /* form for edit permission*/
       print"<label class=\"q\" for=\"q1\" >Permission:</label><br>";
       print"<div style=\"padding-left:170px;\">";

       print"<input name=\"q1[]\" type=\"checkbox\" value=\"1\">Student Management<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"2\">Department Management<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"3\">Course Management<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"4\">Transcript Management<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"5\">Qr Code Printing<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"6\">Settings<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"7\">Upload Scaned Certificate<br>";
       print"</div>";
       print"</li>";

如何设置我需要存储在数据库中的复选框的默认数据库值,请给我一些提示我是Php的新手,提前感谢

3 个答案:

答案 0 :(得分:0)

尝试使用以下代码,

 while ( $row = mysql_fetch_array($result) ) { 
           $q1= $row['permission'];
           $checkboxlabel=$row['title'];
  print"<input name=\"q1[]\" type=\"checkbox\" value=\".$q1.\">".$checkboxlabel."<br>";
 }

答案 1 :(得分:0)

对于一个非常基本的方法(没有错误检查)你可以这样做:

/*getting data from data base
           if ($result) {
          while ( $row = mysql_fetch_array($result) ) { 
               $q1= $row['permission'];
           }
           }

        /* form for edit permission
       print"<label class=\"q\" for=\"q1\" value =\"$q1\">Permission:</label><br>";
       print"<div style=\"padding-left:170px;\">";

       print"<input name=\"q1[]\" type=\"checkbox\" value=\"$q1[0]\">Student Management<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"$q1[1]\">Department Management<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"$q1[2]\">Course Management<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"$q1[3]\">Transcript Management<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"$q1[4]\">Qr Code Printing<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"$q1[5]\">Settings<br>";
       print"<input name=\"q1[]\" type=\"checkbox\" value=\"$q1[6]\">Upload Scaned Certificate<br>";
       print"</div>";
       print"</li>";

您可能希望确保这些值确实存在。

答案 2 :(得分:0)

  if ($result) {
          while ( $row = mysql_fetch_array($result) ) { 
               $q1= $row['permission'];
           }
   }

   $perm=explode(',',$q1);//it's return all value in array 



//now check the all the value in array or not? 
//if value available in arrar than check the checkbox  
//in_array(value, array)? 'checked="checked"':''



    $permission=array('Student Management','Department Management','Course Management','Transcript Management','Qr Code Printing','Settings','Upload Scaned Certificate');
  $num=7;//number of permission

  for($i=0;$i<$num;$i++)
  {
      if(in_array(($i+1), $perm))
      {
           print "<input name=\"q1[]\" type=\"checkbox\" value=\"".($i+1)."\" checked=\"checked\" >".$permission[$i]."<br>";
      }
     else
     {
           print "<input name=\"q1[]\" type=\"checkbox\" value=\"".($i+1)."\" >".$permission[$i]."<br>";
     }
  }