我们经常要给用户作出多项选择进行处理,例如允许用户对列表项选择多项后删除选定项等。今天举个例子说明PHP和JavaScript分别是怎样处理多项选择的。今天我们做的是一个投票系统,对MySQL数据库itemtable表里的项目进行投票,且每个别IP能且只能投两票。 表itemtable是通过以下MySQL语句建立的: CREATE TABLE `itemtable` ( `id` TINYINT( 4 ) NOT NULL AUTO_INCREMENT, `name` VARCHAR( 50 ) NOT NULL , `votes` SMALLINT( 6 ) NOT NULL , PRIMARY KEY ( `id` ) ); 其中字段“name”是列表项目名,“votes”是所得票数。我们还要建立一个表“voteiptable”来记录投票用户的IP: CREATE TABLE `voteiptable` ( `id` SMALLINT( 6 ) NOT NULL , `voteip` VARCHAR( 15 ) NOT NULL, PRIMARY KEY ( `id` ) ); 下面我们编写文件“multivote.php”,今天我们要用到一个数据库类文件“dbclass.php”. 我们经常要给用户作出多项选择进行处理,例如允许用户对列表项选择多项后删除选定项等。今天举个例子说明PHP和JavaScript分别是怎样处理多项选择的。今天我们做的是一个投票系统,对MySQL数据库itemtable表里的项目进行投票,且每个别IP能且只能投两票。 表itemtable是通过以下MySQL语句建立的: CREATE TABLE `itemtable` ( `id` TINYINT( 4 ) NOT NULL AUTO_INCREMENT, `name` VARCHAR( 50 ) NOT NULL , `votes` SMALLINT( 6 ) NOT NULL , PRIMARY KEY ( `id` ) ); 其中字段“name”是列表项目名,“votes”是所得票数。我们还要建立一个表“voteiptable”来记录投票用户的IP: CREATE TABLE `voteiptable` ( `id` SMALLINT( 6 ) NOT NULL , `voteip` VARCHAR( 15 ) NOT NULL, PRIMARY KEY ( `id` ) ); 下面我们编写文件“multivote.php”,今天我们要用到一个数据库类文件“dbclass.php”. //包含数据库类文件: include_once("dbclass.php") //检查该IP是否已经投过票了: if($db->getfirst("select * from iptable where voteip='$_SERVER[REMOTE_ADDR]'")){ echo "您已经投过票了,谢谢您的参与!"; } //这是投票项目列表页面: if(!$action){ echo " ?> } //这是处理用户投票的页面 else if($action="vote"){ //在客户端用javascript检验数据是不安全的,但是可以减轻服务器负担和不用浪费用户时间。 //在服务器再次进行验证经常是必要的。 $itemcount=$db->getfirst("select count(*) as count from itemtable"); //取得项目总数 $checkarray=array(); for($i=1;$i<=$itemcount["count"];$i++){ //和javascript处理的过程是不是很像呢 $mycheck="check$i"; $mycheck=$$mycheck; if($mycheck && $db->getfirst("select * from itemtable where id='$mycheck'")){ //之所以加上$db->getfirst("select * from itemtable where id='$mycheck'")是为防止所投项目id不存在 $checkarray[]=$mycheck; //如果这一项被选中,$checkarray增加一项,值为所选id } } if(count($checkarray)==2){ //如果$checkarray的项数是2,则相应的票数加1: for($i=0;$i } //把投票用户的IP记入数据库: $db->query("insert into iptable (voteip) values ('$_SERVER[REMOTE_ADDR]')"); echo "投票成功,谢谢您的参与!"; }else{ //否则: echo "对不起,您只能投两个项目!"; } } ?> 我们可以发现,客户端的JavaScript和服务器端的PHP对多项选择的处理有很多相似之处,当然也有不同。这是比较经典的多选项处理的程序,如果不限定用户的选项的话就更简单了。 我们可以发现,客户端的JavaScript和服务器端的PHP对多项选择的处理有很多相似之处,当然也有不同。这是比较经典的多选项处理的程序,如果不限定用户的选项的话就更简单了。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 07:22 , Processed in 0.122174 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.