2013-11-01 37 views
0

我正在尝试设置一个投票过程,其中有20组两个单选按钮,您可以从中进行选择。然后当点击一个“投票”按钮时,我可以收集所选按钮的值并将+1加到它们各自的数据库单元格中。使用单选按钮增加MySql数据库中的值

我新的MySQL和我在努力...

数据库表的样子..

ID  Park   Votes 
1  Zion   0 
2  Grand Canyon 0 
3  Arches  0 
4  Canyonlands 0 
5  Yosemite  0 
6  Yellowstone 0 

HTML表单

<form action="/databases/save.php" method="post"> 
    <input type="radio" name="match1" value="1" />Zion 
    <input type="radio" name="match1" value="1" />Grand Canyon 
    <input type="radio" name="match2" value="1" />Arches 
    <input type="radio" name="match2" value="1" />Canyonlands 
    <input type="radio" name="match3" value="1" />Yosemite 
    <input type="radio" name="match3" value="1" />Yellowstone 
    <input type="image" src="/graphics/logo.png" /> 
</form> 

而且save.php文件

<?php 
    if (isset($_POST['match1'])){ 
     $match1 = $_POST['match1']; 
     mysql_query("INSERT INTO results() VALUES ('1')"); 
    } 
    ?> 

如何获得选定的收音机并将+1应用于正确的表格单元,我就会被抛弃。在此先感谢

回答

1

您的HTML对于radio输入不正确。如果您希望用户只选择一个公园,则所有输入必须具有相同的名称。使用无线输入的value属性存储公园的ID(从MySQL表):

<form action="/databases/save.php" method="post"> 
    <input type="radio" name="match" value="1" />Zion 
    <input type="radio" name="match" value="2" />Grand Canyon 
    <input type="radio" name="match" value="3" />Arches 
    <input type="radio" name="match" value="4" />Canyonlands 
    <input type="radio" name="match" value="5" />Yosemite 
    <input type="radio" name="match" value="6" />Yellowstone 
    <input type="image" src="/graphics/logo.png" /> 
</form> 

该输入的选定值将被否则返回$_POST['match']如果选择一个项目$_POST['match']不会完全可以设置。

所以你save.php页面上,你可以更新你的表像这样(假设你的表被命名为“parks_table”):

<?php 
if (isset($_POST['match'])) { 
    mysql_query('UPDATE `parks_table` SET Votes = Votes + 1 WHERE ID = '.$_POST['match']); 
} 
?> 

因为你似乎与PHP和MySQL首发请阅读:Why shouldn't I use mysql_* functions in PHP?

+0

你的回答比较完整和准确。我会撤回我的。 – mseifert

-1
<button type="submit" name="vote" id="vote" value=" ' . $row['candidate_position'] . ' " class="btn btn-success">CAST VOTE</button> 
    <?php 

$vote = $_POST['vote']; 

if (isset($_POST['vote'])) { 
mysqli_query($con, "UPDATE tbCandidates SET candidate_votes=candidate_votes+1 WHERE position_id='$vote'"); 
echo "string"; 
} 


mysqli_close($con); 
?> 
相关问题