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

问题描述 投票:0回答:1

这是我的代码。

<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);
             }
    ?>

我的代码的输出是,它将显示候选人列表、职位、单选按钮票数和保存按钮。

我的错误是,当我选择一个单选按钮并单击更新按钮时,我想将

1
放入
numberofvotes
字段中,但它没有更新。我的代码有什么问题吗?

php html mysql
1个回答
0
投票
    <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);
                 }
        ?>
© www.soinside.com 2019 - 2024. All rights reserved.