0

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

我是 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 应用于正确的表格单元格感到厌烦。提前致谢

4

2 回答 2

1

您的 HTMLradio输入不正确。如果您希望用户只选择一个公园,则所有输入必须具有相同的名称。使用valueradio 输入的属性来存储公园的 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 开始,请阅读:为什么我不应该在 PHP 中使用 mysql_* 函数?

于 2013-11-01T18:32:24.003 回答
-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);
?> 
于 2017-10-14T19:07:17.450 回答