Php 如何使用单选按钮更新MySQL中的数据?

Php 如何使用单选按钮更新MySQL中的数据?,php,html,mysql,Php,Html,Mysql,大家好下午好 我能问个问题吗?但在此之前,这里是我的代码 <html> <center> <font size="2" face = "century gothic"> <?php $con=mysqli_connect("localhost","root","","election2016"); // Check connection if (mysqli_connect_errno()) {

大家好下午好 我能问个问题吗?但在此之前,这里是我的代码

<html>
    <center>
    <font size="2" face = "century gothic">
    <?php
    $con=mysqli_connect("localhost","root","","election2016");
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    $result = mysqli_query($con,"SELECT * FROM candidate_info");
    echo "<table border='1'>
    <tr>
    <th>Candidate Name</th>
    <th>Position</th>
    <th>Vote</th>
    <th>Number of Votes</th>
    </tr>";
    while ($row = mysqli_fetch_array($result)) {
        echo "<tr>";

        echo "<td>" . $row['CandidateName'] . "</td>";
        echo "<td>" . $row['Position'] . "</td>";
        echo "<td><input type='radio' name='candidateid'/>";
      echo "<td>" . $row['NumberofVotes'] . "</td>";
    }
    echo "</table>";
    mysqli_close($con);
    ?>

    <br>
    <br>
    <form method = "post" action = "<?php $_PHP_SELF ?>">
     <input name = "update" type = "submit" id = "update" value = "Update">
    </form>
    </center>
    </font>
    </html>
    <?php
             if(isset($_POST['update'])) {
                $dbhost = 'localhost';
                $dbuser = 'root';
                $dbpass = '';

                $conn = mysql_connect($dbhost, $dbuser, $dbpass);

                if(! $conn ) {
                   die('Could not connect: ' . mysql_error());
                }

                $candidateid = $row['candidateid'];


                $sql = "UPDATE candidate_info SET numberofvotes = '1' WHERE candidateid = $candidateid" ;
                mysql_select_db('election2016');
                $retval = mysql_query( $sql, $conn );

                if(! $retval ) {
                   die('Could not update data: ' . mysql_error());
                }
                echo "Updated data successfully\n";

                mysql_close($conn);
             }
    ?>










我检查了这个代码,它正在工作。问题是在发布表单时没有$row数组。因此,您必须将带有隐藏字段的id发送到页面。这是我做的让你的代码工作。先生,我尝试了代码,但它不工作。我得到一个未定义的错误index@AlexiusjoeCoronel你能给我看看你的数据库结构吗?代码中使用的字段名有错误,并且代码中的一个或多个字段名与数据库中的字段名不相同。未定义的索引错误是由于以下原因造成的。表名candidate_info字段candidateid、candidatename、position、numberofvotesOk,在您写入echo“”的第22行$行['CandidateName']。""; 您应该将echo写为“”$行['candidatename']。""; 相反因为正如您所看到的,名称是您在代码中用驼峰大小写的,但在数据库中用小写。每次尝试访问不存在的数组索引时,都会出现未定义的索引,在您的情况下,CandidateName不存在。我检查了这段代码,它正常工作。问题是在发布表单时没有$row数组。因此,您必须将带有隐藏字段的id发送到页面。这是我做的让你的代码工作。先生,我尝试了代码,但它不工作。我得到一个未定义的错误index@AlexiusjoeCoronel你能给我看看你的数据库结构吗?代码中使用的字段名有错误,并且代码中的一个或多个字段名与数据库中的字段名不相同。未定义的索引错误是由于以下原因造成的。表名candidate_info字段candidateid、candidatename、position、numberofvotesOk,在您写入echo“”的第22行$行['CandidateName']。""; 您应该将echo写为“”$行['candidatename']。""; 相反因为正如您所看到的,名称是您在代码中用驼峰大小写的,但在数据库中用小写。每次尝试访问不存在且CandidateName不存在的数组索引时,都会出现未定义索引。
    <html>
        <center>
        <font size="2" face = "century gothic">
        <?php
        $con=mysqli_connect("localhost","root","","election2016");
        // Check connection
        if (mysqli_connect_errno())
        {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
        $result = mysqli_query($con,"SELECT * FROM candidate_info");
        echo "<table border='1'>
        <tr>
        <th>Candidate Name</th>
        <th>Position</th>
        <th>Vote</th>
        <th>Number of Votes</th>
        </tr>";
        while ($row = mysqli_fetch_array($result)) {
            echo "<tr>";

            echo "<td>" . $row['CandidateName'] . "</td>";
            echo "<td>" . $row['Position'] . "</td>";
             echo "<td><input type='radio' name='candidateid' value='".$row['candidateid']."' >";
          echo "<td>" . $row['NumberofVotes'] . "</td>";
    $candidateid=$row['candidateid'];
        }
        echo "</table>";
        mysqli_close($con);
        ?>

        <br>
        <br>
        <form method = "post" action = "<?php $_PHP_SELF ?>">
     <input type="hidden" name="candidateid" value="<?php echo $candidateid;?>">
         <input name = "update" type = "submit" id = "update" value = "update">
        </form>
        </center>
        </font>
        </html>
        <?php
                 if(isset($_POST['update'])) {
                    $dbhost = 'localhost';
                    $dbuser = 'root';
                    $dbpass = '';
 $candidateid = $_POST['candidateid'];
                    $conn = mysql_connect($dbhost, $dbuser, $dbpass);

                    if(! $conn ) {
                       die('Could not connect: ' . mysql_error());
                    }

                    $candidateid = $_POST['candidateid'];


                    $sql = "UPDATE candidate_info SET numberofvotes = 1 WHERE candidateid = '$candidateid'" ;
                    mysql_select_db('election2016');
                    $retval = mysql_query( $sql, $conn );

                    if(! $retval ) {
                       die('Could not update data: ' . mysql_error());
                    }
                    echo "Updated data successfully\n";

                    mysql_close($conn);
                 }
        ?>