php查询操作实现投票功能
内容摘要
本文实例为大家分享了php查询操作实现投票功能的代码,供大家参考,具体内容如下
题目:
解题方法汇总:
方法一:
1. 投票主页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
题目:
解题方法汇总:
方法一:
1. 投票主页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
文章正文
本文实例为大家分享了php查询操作实现投票功能的代码,供大家参考,具体内容如下
题目:
解题方法汇总:
方法一:
1. 投票主页面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html xmlns= "http://www.w3.org/1999/xhtml" > <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title>投票</title> <style> #list { width:400px; height:300px;} #jieguo { width:400px; height:300px;} .x { float:left;} </style> </head> <body> <form action= "TouChuLi.php" method= "post" > <?php include ( "DBDA.class.php" ); $db = new DBDA(); //从调研题目表中找出题目代号和名称 $sql = "select * from diaoyantimu limit 0,1" ; $arr = $db ->query( $sql ); $tmmc = $arr [0][1]; $tmdh = $arr [0][0]; echo "<div><h2>{$tmmc}:</h2></div>" ; //从调研选项表中输出选项内容: $sqlxx = "select * from diaoyanxuanxiang where timudaihao='{$tmdh}'" ; $arrxx = $db ->query( $sqlxx ); echo "<div id='list'>" ; foreach ( $arrxx as $v ) { echo "<div><input type='checkbox' value='{$v[0]}' name='xx[]'>{$v[1]}</div><br />" ; } ?> <input type= "submit" value= "提交" > <input type= "button" value= "查看结果" id= "check" onclick= "Showjieguo()" > </form> </div> <div id= "jieguo" style= "display:none" > <?php //计算总人数: $sqlzs = "select sum(numbers) from diaoyanxuanxiang where timudaihao='{$tmdh}'" ; $zrs = $db ->query( $sqlzs ); foreach ( $arrxx as $v ) { $name = $v [1]; $number = $v [2]; if ( $zrs [0][0]==0) { $bfb = 0; } else { $bfb = ( $number / $zrs [0][0])*100; } $bfb = round ( $bfb ,2); echo "<div> <span class = 'x' >{ $name } </span> <div class = 'x' style= 'width:200px; height:10px; background-color:#808080' > <div style= 'width:{$bfb}%; height:10px; background-color:#FF8040' > </div> </div> <span class = 'x' >{ $number } </span> <span class = 'x' >{ $bfb }% </span> </div> <br /> "; } ?> <input type= "button" value= "返回" id= "fanhui" onclick= "Showfanhui()" > </div> <script> function Showjieguo() { document.getElementById( "list" ).style.display= "none" ; document.getElementById( "jieguo" ).style.display= "block" ; } function Showfanhui() { document.getElementById( "list" ).style.display= "block" ; document.getElementById( "jieguo" ).style.display= "none" ; } </script> </body> </html> |
2.处理投票页面:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $arr = $_POST [ "xx" ]; include ( "../DBDA.class.php" ); $db = new DBDA(); foreach ( $arr as $v ) { $sql = "update diaoyanxuanxiang set numbers = numbers+1 where ids = '{$v}'" ; $db ->Query( $sql ,1); //1代表$sql的类型 } header ( "location:TouPiao.php" ); ?> |
3. 建立访问数据库的类,封装用于引用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?php //执行一个sql语句,返回相应的结果 class DBDA { public $host = "localhost" ; //数据库服务器地址 public $uid = "root" ; //数据库用户名 public $password = "" ; //数据库密码 //执行SQL语句的方法 //参数里面:$sql代表要执行的sql语句;$type是sql语句的类型,0代表查询,1代表其他(增删改);$db代表要操作的数据库 function Query( $sql , $type =0, $db = "mydb" ) { //造连接对象 $dbconnect = new MySQLi( $this ->host, $this ->uid, $this ->password, $db ); //判断连接是否出错 !mysqli_connect_error() or die ( "连接失败!" ); //执行sql语句 $result = $dbconnect ->query( $sql ); //判断SQL语句类型 if ( $type ==0) { //如果是查询语句返回结果集的二维数组 return $result ->fetch_all(); } else { //如果是其他语句,返回true或false return $result ; } } } |
方法二:
1. 投票主页面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <html> <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title>投票</title> <style> .x { float:left;} </style> </head> <body> <form action= "TouChuLi.php" method= "post" > <?php include ( "../DBDA.class.php" ); $db = new DBDA(); //从调研题目表中找出题目代号和名称 $sql = "select * from diaoyantimu limit 0,1" ; $arr = $db ->query( $sql ); $tmmc = $arr [0][1]; $tmdh = $arr [0][0]; echo "<div><h2>{$tmmc}:</h2></div>" ; //从调研选项表中输出选项内容: $sqlxx = "select * from diaoyanxuanxiang where timudaihao='{$tmdh}'" ; $arrxx = $db ->query( $sqlxx ); echo "<div id='list'>" ; foreach ( $arrxx as $v ) { echo "<div><input type='checkbox' value='{$v[0]}' name='xx[]'>{$v[1]}</div><br />" ; } ?> <input type= "submit" value= "提交" > <a href= "ChaKan.php" ><input type= "button" value= "查看结果" id= "check" ></a> </form> </body> </html> |
2. 处理投票页面:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $arr = $_POST [ "xx" ]; include ( "../DBDA.class.php" ); $db = new DBDA(); foreach ( $arr as $v ) { $sql = "update diaoyanxuanxiang set numbers = numbers+1 where ids = '{$v}'" ; $db ->Query( $sql ,1); //1代表$sql的类型 } header ( "location:TouPiao.php" ); ?> |
3. 查看投票结果页面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | <html> <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title>查看结果</title> <style> .x { float:left;} </style> </head> <body> <?php include ( "../DBDA.class.php" ); $db = new DBDA(); //从调研题目表中找出题目代号和名称 $sql = "select * from diaoyantimu limit 0,1" ; $arr = $db ->query( $sql ); $tmmc = $arr [0][1]; echo "<div><h2>{$tmmc}:</h2></div>" ; //从调研选项表中输出选项内容: $sqlxx = "select * from diaoyanxuanxiang where timudaihao='{$arr[0][0]}'" ; $arrxx = $db ->query( $sqlxx ); //计算总人数: $sqlzs = "select sum(numbers) from diaoyanxuanxiang where timudaihao='{$arr[0][0]}'" ; $zrs = $db ->query( $sqlzs ); foreach ( $arrxx as $v ) { $name = $v [1]; //调研项目名称 $number = $v [2]; //选择该项的人数 //判断总人数是否为0 if ( $zrs [0][0]==0) { $bfb = 0; } else { $bfb = ( $number / $zrs [0][0])*100; //求百分比 } $bfb = round ( $bfb ,2); //取小数点后两位 echo "<div> <span class = 'x' >{ $name } </span> <div class = 'x' style= 'width:200px; height:10px; background-color:#808080' > <div style= 'width:{$bfb}%; height:10px; background-color:#FF8040' > </div> </div> <span class = 'x' >{ $number } </span> <span class = 'x' >{ $bfb }%</span><br /> </div><br />"; } ?> <br /> <a href= "TouPiao.php" ><input type= "button" value= "返回" ></a> </body> </html> |
显示结果:
以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。
代码注释