首先在数据库中要有张表,字段为id,name(即投票的选项),count(各选项所投票的数量累计)。具体思路:当选项被选中时,count+1,count的值作为div的长度显示在html页面中,可以嵌套两个div,外div长度固定,内div的长度设置为百分比,这样就可以显示百分比了。具体代码如下:HTML页面(包括js):
投票//引用jquery//为当做统计条的div设置一下样式
投票
提交
`+attr[i][2]+`(`+((attr[i][2]/sum)*100).toFixed(2)+`%) `; } $(‘#show2 table‘).html(str);}//提交按钮的方法function tijiao(){ var str=‘‘; $(‘input:checkbox:checked‘).each(function(){ str+=$(this).attr(‘data-id‘)+‘,‘; }) str=str.substring(0,str.length-1); $.ajax({ async:true, url:‘index.php‘, data:{type:‘insert‘,ids:str}, type:‘post‘, dataType:‘text‘, success:function(data){//把php返回的字符串转成二维数组 strToArr(data); }});}php页面:<?php $db= new MySQLi(‘localhost‘,‘root‘,‘root‘,‘database‘);!mysqli_connect_error() or die(‘连接失败‘);$db->query(‘set names utf8‘);$type=$_REQUEST[‘type‘];switch($type){ case ‘insert‘: $ids=$_POST[‘ids‘]; $sql="update table set count= count+1 where id in ($ids) "; $db->query($sql); break; case ‘select‘: break;} $sql="select * from table"; $res=$db->query($sql); $attr=$res->fetch_all(); // 数组转字符串 $brr=array(); foreach($attr as $v){ $brr[]=implode(",",$v); } echo implode(‘^‘,$brr);