小程序mysql php测试_php结合mysql和jquery做简单的投票小程序

首先在数据库中要有张表,字段为id,name(即投票的选项),count(各选项所投票的数量累计)。

具体思路:当选项被选中时,count+1,count的值作为div的长度显示在html页面中,可以嵌套两个div,外div长度固定,内div的长度设置为百分比,这样就可以显示百分比了。

具体代码如下:

HTML页面(包括js):

投票

//引用jquery

//为当做统计条的div设置一下样式

.wai{

width: 100px;

height: 15px;

border: 1px solid red;

}

.nei{

width: 1%;

height: 15px;

background: red;

}

投票

提交

var attr=[];

var sum=0;

ajax获取数据

$.ajax({

async:true,

url:'untitled.php',

data:{type:'select'},

type:'post',

dataType:'text',

success:function(data){

//把php返回的字符串转成二维数组

strToArr(data);

}

});

//方法:字符串转数组

function strToArr(str){

var arr=str.split('^'),

brr=[],

sum=0;

for(var i in arr){

brr.push(arr[i].split(','));

sum+=+brr[i][2];

}

attr=brr;

initHtml(sum);

}

//方法:将数据打印至HTML页面中(包括选项)

function initHtml(sum){

var str='';

for(var i in attr){

str+=''+attr[i][1]+'
';

}

$('#show1').html(str);

str='';

for(var i in attr){

str+=`

`+attr[i][1]+``+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页面:

$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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值