2014-02-20 35 views
0
<input name="q1[]" type="checkbox" value="a1">Used e-mail 
<input name="q1[]" type="checkbox" value="a2">Used instant messenger & chat room 
<input name="q1[]" type="checkbox" value="a3">Made a purchase for personal use 
<input name="q1[]" type="checkbox" value="a4">Downloaded/Played a video game 
<input name="q1[]" type="checkbox" value="a5">Obtained news/information 
<input name="q1[]" type="checkbox" value="a6">Looked for employment 

在提交时我用如何从mySQL检查编辑页面的正确复选框?

$q1=implode(',', $_POST['q1']); 

,然后将其保存到一个MySQL数据库像A1,A3,A5

我现在的问题是,我有一个编辑页面,在那里我知道如何使用文本框显示来自数据库的值。我不知道如何检查正确的复选框。

我知道使用爆炸并从保存的值创建一个数组是很好的。我知道有一个PHP方法,但我发现这个代码的下拉菜单,它有助于不会有每个复选框的PHP if语句。

<script type='text/javascript'> 
     window.onload = function(){ 
      document.getElementsByName("year")[0].value="2008"; // change the value to the open obtained from database 
     } 
     </script> 

我该如何做这个复选框?非常感谢您

回答

0

你可以用for循环interate您的复选框,并从数据库中与indexOf检查,如果该输入值存在数组中:

window.onload = function(){  
    var dbdata = "a1,a3,a4"; //this should come from db 
    dbdata = dbdata.split(","); 
    for(i = 0; i<document.getElementsByName("q1[]").length;i++) 
    { 
     obj = document.getElementsByName("q1[]"); 
     if(dbdata.indexOf(obj[i].value) > -1) 
     obj[i].checked=true; 
    } 
} 

工作示例这里:JSFiddle