js可以实现,通过给每个链接一个ID,然后服务器端生成一个动态的变量,调用函数实现
成都创新互联-专业网站定制、快速模板网站建设、高性价比多伦网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式多伦网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖多伦地区。费用合理售后完善,10年实体公司更值得信赖。
考虑下面的代码:
考虑篇幅就省去了一些属性标记
a href="#" id="a_1"A/a
a href="#" id="a_2"B/a
a href="#" id="a_3"C/a
script
var s = 'a_?php echo("1") ?'
document.getElementById(s).style.background = '#f00';
/script
试着拷贝上面的代码另存为php代码运行。看到关键点没,那个 echo 输出的 1,那么你可以通过$_GET获取一个变量并且输出,通过JS控制背景色或者其他什么效果,具体的你自己去实现了。另外,做前台这些效果,用jQuery比较好,我这只是一个例子,没有弄那么详细。
数据库的设计本人认为可以这样,提交表单应该再设置一个隐藏域,储存题目ID,例如
" name="an_id"
处理页面可以使用将获取到的答案数组
$_POST['itm']进行遍历,用循环$value查找question,可以使用函数strpos(),该函数如果返回数字,则是正确答案,如果返回false,则是错误答案
if(isset($_POST['an_id'])){
$an_id = $_POST['an_id'];
$qus_sql = "select `question` from `vote_answer` where id = $an_id";
$query = mysql_query($qus_sql);
while($row = mysql_fetch_row($query)){
$question = $row[0];
}
$user_question = $_POST['itm'];
foreach($user_question as $value){
if(strpos($question,$value){
echo '正确答案';
}else{
echo '错误答案';
}
}
}全手写代码,有错误请百度HI我!
单表查询有利于后期数据量大了分库分表,如果联合查询的话,一旦分库,原来的sql都需要改动
?php
if(!empty($_POST["t1"]))
{
$array = $_POST["t1"];
$str =implode(',',$array);
echo $str."br"; //输出 篮球,足球,乒乓球,排球 //$str 存入数据库
$arr=explode(',',$str);//从数据库取出数据时用。
print_r($arr);//输出 Array ( [0] = 篮球 [1] = 足球 [2] = 乒乓球 [3] = 排球 ) //数据库输出用explode变回数组array
$serialize=serialize($array);
echo "br".$serialize."br"; //输出 a:4:{i:0;s:4:"篮球";i:1;s:4:"足球";i:2;s:6:"乒乓球";i:3;s:4:"排球";} 存入数据后也是这样子。
$unserialize = unserialize($serialize);
print_r($unserialize); //输出 Array ( [0] = 篮球 [1] = 足球 [2] = 乒乓球 [3] = 排球 ) 变回array
}
?
form method=post action="" name="form1"
input type="checkbox" name="t1[]" value="篮球"篮球br
input type="checkbox" name="t1[]" value="足球"足球br
input type="checkbox" name="t1[]" value="乒乓球"乒乓球br
input type="checkbox" name="t1[]" value="排球"排球br
input type="submit"
/form