这个问题将展示我是一个新手。情况是这样的。这是一场摄影比赛。人们上传一张照片,同一行右边有一个复选框。如果选民喜欢这张照片,请勾选复选框。他们最多可以选择5张照片。
简单地说,我的问题不是MySQL,而是表单。每一行都有一个复选框,这是一个表单。SUBMIT按钮就是问题所在。我唯一能弄清楚提交工作的方法是在每个复选框上放一个提交按钮。当然,这太荒谬了。我想要的是阅读所有复选框,并在投票结束时有一个提交按钮。花了几个小时在这上面,却看不到如何让投票人点击提交文件,并一次性将所有检查值插入数据库。
有什么想法吗?我知道这听起来很原始,但只是进入了这个阶段。
提前感谢的任何帮助
您可以将所有复选框包含在一个html表单标记中,并在其中包含提交按钮。它将自动提交所有复选框中的数据
或
您可以使用javascript/jQuery来运行所有复选框。并提交表格。
好吧,有各种javascript方法可以获取您想要的数据并提交,但让我们保持简单。
[voteform.html]
<form action="process_script.php">
<img src="image1"><input type="checkbox" name="vote_for_image[]" value="1">
<img src="image2"><input type="checkbox" name="vote_for_image[]" value="2">
<input type="submit">
</form>
然后(请注意[RETURN ERROR…]和[DATABASE…]块只是用于填充代码的占位符)
[process_script.php]
<?
if (count($_GET['vote_for_image'] > 5) {
[RETURN ERROR 'Please select no more than 5 images to vote for']
}
else {
foreach ($_GET['vote_for_image'] as $index => $image_id) {
[DATABASE INSERT OR UPDATE FOR $image_id]
}
}
?>
将checkbox[]
设置为每个复选框的名称属性,在提交时,您可以将有效性寻址为数组
<body>
<form action="checkbox.php" method="post">
<input type="checkbox" name="checkbox[]" value="a">
<input type="checkbox" name="checkbox[]" value="b">
<input type="checkbox" name="checkbox[]" value="c">
<input type="checkbox" name="checkbox[]" value="d">
<input type="submit" name="Submit" value="Submit">
</form>
<?php
if(isset($_POST['Submit']))
{
echo $_POST['checkbox'];
}
?>
</body>
以上会给你
Array (
[0] => a
[1]=>b
[2] => c
[3]=>d
)
试试这个代码//HTML
<form method='post'>
<input type='checkbox' name='photo[]' value='1' />
<img src='test1.jpg' />
<input type='checkbox' name='photo[]' value='2'/>
<img src='test2.jpg' />
<input type='submit' value="Submit" name="submit" />
</form>
//PHP
if(isset($_POST['submit']))
{
if(isset($_POST['photo']))
{
if(count($_POST['photo']) > 5)
{
// Display error msg
}
else
{
// Contains all ids voted on
$img_ids=explode(',',$_POST['photo']);
// insert or update DB for the image ids
}
}
}