主题:关于php复选框的问题那位大虾能帮上忙啊!!~~
fireandwater
[专家分:70] 发布于 2007-10-13 09:41:00
php做投票系统时对于复选框处理以及将复选框带的数据写如数据库的方法
我 该怎么做啊!!~~~
这是我的投票页
<?php require_once('conn.php'); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<?php
$sql="select * from voteclass where active=1";
$conn=mysql_query($sql,$connec);
$rs=mysql_fetch_array($conn);
?>
<form id="form1" name="form1" method="post" action="vote_save.php">
<table width="400" border="1" align="center" cellpadding="3" cellspacing="3">
<tr>
<td colspan="2"><?= $rs["vc_name"]?></td>
</tr>
<?php
$i=1;
$sql1="select * from votexiang where vc_id='".$rs["vc_id"]."' order by vx_id desc";
$conn1=mysql_query($sql1,$connec);
while($rs1=mysql_fetch_array($conn1)){
?>
<tr>
<td width="58"><label>
<?php
if($rs["class"]=="单选")
{
?>
<input type="radio" name="votexiang" value="<?=$rs1["votexiang"]?>">
<?php }else{?>
<input type="checkbox" name="votexiang<?=$i?>" value="<?=$rs1["votexiang"]?>">
<?php
}
?>
</label></td>
<td width="315"><?=$rs1["votexiang"]?></td>
</tr>
<?php
$i++;
}
?>
<tr>
<td><label>
<input type="submit" name="Submit" value="提交" />
</label></td>
<td><a href="look_vote.php?vc_id=<?=$rs["vc_id"]?>">查看投票结果</a></td>
</tr>
</table>
</form>
</body>
</html>
那么我 的 投票处理叶该怎么做呢!~~
这是我做的 一个不成型的处理页他只能处理单选按钮那么怎么能让他处理复选框传来的数据呢????
<?php require_once('conn.php'); ?>
<?php
$votexiang=$_POST["votexiang"];
$sql="update votexiang set vx_shu=vx_shu+1 where votexiang='$votexiang'";
mysql_query($sql,$connec);
echo("<script type='text/javascript'> alert('投票成功!');location.href='vote.php';</script>");
?>
这个是我的投票里面有mysql数据库请大虾帮忙看看谢谢!!~~我就是向把复选框所带的value值传递给数据库vote_save.php页不会做啦!!
最后更新于:2007-10-14 10:32:00
回复列表 (共16个回复)
沙发
淡淡的 [专家分:2030] 发布于 2007-10-13 12:58:00
fireandwater你好,从投票页看,似乎表单处交代得不清楚,把投票页的思路说一下,好吗?
板凳
fireandwater [专家分:70] 发布于 2007-10-14 10:33:00
谢谢淡淡的的恢复我把投票的压缩包穿上去请帮忙看看
3 楼
fireandwater [专家分:70] 发布于 2007-10-14 10:36:00
我的投票页是可以选择的是单选的也可是复选的我只是在对复选时不会将复选框带的value值写入库中了
4 楼
淡淡的 [专家分:2030] 发布于 2007-10-14 12:05:00
因看不清你的整个设计意图,尤其是表votexiang的设计,下面把form中的复选框的表达和复选框的value值写入库中的语句写给你,不知是不是你想要的:
<form ...>
<input type=checkbox name="votexiang[]" value=xiang1>项1
<input type=checkbox name="votexiang[]" value=xiang2>项2
<input type=checkbox name="votexiang[]" value=xiang3>项3
<input type=checkbox name="votexiang[]" value=xiang4>项4
<input type=checkbox name="votexiang[]" value=xiang5>项5
<br><br>
<input type=submit name=submit value=提交>
</form>
$sql="insert into votexiang(votexiang) value('$votexiang[$i]')";
5 楼
fireandwater [专家分:70] 发布于 2007-10-14 13:17:00
真的真的麻烦你啦!!~~~
要是这次还看不懂就给我个获取<input type=checkbox name="votexiang[]" value=项的代码和将他更新库的代码谢谢!!~~~
<?php
$sql1=...
while($rs1=mysql_fetch_array($conn1)){
?>
<input type=checkbox name="votexiang[]" value=项//投票项有很多是从库中提出来的
<?php
}
?>
那么在接受页vote_save.php我该怎么去接受value里的多个值然后更新库中的每一个你所选中的项目(piaoshu)进行更新
6 楼
淡淡的 [专家分:2030] 发布于 2007-10-14 15:41:00
显示复选框:
while($rs1=mysql_fetch_array($conn1)){
$j++;
echo "<input type=checkbox name='votexiang[]' value=".$rs1[2].">".$rs1[2]." ";
}
更新数据:
if($submit){
for($i=0;$i<$j;$i++){
if($votexiang[$i]!=""){
$sql="update votexiang set vx_shu=vx_shu+1 where votexiang='$votexiang[$i]'";
}
}
}
表votexiang:
id vx_shu votexiang
你试一下,有什么问题,请贴上来
7 楼
fireandwater [专家分:70] 发布于 2007-10-14 17:25:00
呵呵!!!~~
厉害~~
这次真的好用啦!!~
不过我是适用了很多此才好使的,我翻来覆去的调整代码终于让我总结出了一个正却的方法--"原来你的代码是在统一页处理的"
晕!!~
我还在vote.php和vote_save.php之间打转转呢!!呵呵
真的太谢谢你啦!!
我先研究一下你的代码有不懂的或是其他问题我在来找你艾学习就要有这种死不要脸的精神不要显我麻烦啊
在多说一句你这里的论坛真是太负责啦
特别是你这个版主啊定你的 加油!!~~~
8 楼
fireandwater [专家分:70] 发布于 2007-10-14 17:27:00
怎么我是向给你30分啦
可是它不让啊不要怪我啊
9 楼
fireandwater [专家分:70] 发布于 2007-10-14 17:32:00
这是我修改过的代码
<?php
if($_POST["action"]='yes'){
for($i=0;$i<$j;$i++){
if($votexiang[$i]!=""){
$sql="update votexiang set vx_shu=vx_shu+1 where votexiang='$votexiang[$i]'";
mysql_query($sql,$connec);
}
}
}
?>
我在研究研究在不同页处理行不行
10 楼
淡淡的 [专家分:2030] 发布于 2007-10-15 11:10:00
fireandwater你好,我也是个初学者,打一开始学php就在这个论坛,所有的问题都是在这里解决的,希望以后我们这些初学者能常在一起讨论问题,互相帮助,共同提高。
在不同页处理的问题解决了吗?在投票页vote.php把 $j 注册到swession库,在处理页vote_save.php直接使用就可以了。
我来回复