通过使用PHP和HTML单击链接将数据更新到mysql数据库

时间:2013-05-10 22:21:01

标签: php html mysql

当用户点击链接时,有没有办法更新MySQL数据库中的数据? 我正在创建一个投票应用程序。它允许用户存储要立即使用或以后使用的问题。当用户查看他创建的问题时,他/她可以单击链接,该链接将更新数据库中将根据问题ID存储1或0的列。 (1表示该问题可以投票,0表示相反)。我编写了代码来从DB中检索问题。现在我正在尝试编写将通过单击链接更新问题数据的代码。

我无法想象的是如何获取用户点击链接的问题ID,然后我可以更新数据库。 如果我的解释不明确,请原谅。英语是我的第二语言,我努力更好地沟通。

4 个答案:

答案 0 :(得分:1)

echo "<td><a href='markAsInActive.php?id=$row[0]'>Active</a></td>";

我只是猜测$row[0]是ID - 您可以将其更改为数据库的相应列(通常最好使用mysql_fetch_assoc,这样您就可以按名称访问列而不是毫无意义的列号。)

然后,PHP脚本可以使用$_GET['row']来获取应更新的ID。

答案 1 :(得分:1)

您可以这样做:

<?php
        $username = $_COOKIE['username'];
        $sql = "SELECT * FROM QUESTIONS WHERE username ='$username'";
        $result = mysql_query($sql) or die(mysql_error());    
        if (mysql_num_rows($result) > 0) {

        //---------- new
        if(isset($_GET['voteID']))
        {
            $viteID = (int) $_GET['voteID'];
            // your update query
        }

        //--------  
            ?> 
            <table width="50%" cellpadding="5" cellspacing="0" border="1">
                <tr><td><b>Question ID</b></td><td><b>Question</b></td><td><b>Active/Inactive</b></td></tr>
                <?php
                $html = '';
                while ($row = mysql_fetch_row($result)) {
                    $html .= '<tr>';
                    $html .= '<td>' . $row[0] . '</td>';
                    $html .= '<td>' . $row[1] . '</td>'; 
                    $activity = $row[3];

                    // ---- new
                    $html .= '<a href="'.$_SERVER['PHP_SELF'].'?id='.$row[0].'">Vote Up</a>';               
                    //-------

                    //if active = 1, do the following
                    if ($activity == 1) {
                        $html .= '<td>' . '<a href=markAsInActive.php>Active</a>' . '</td>';
                    } else {
                        $html .= '<td>' . 'Inactive' . '</td>';
                    }
                    $html .='</tr>';

                }
                echo $html;
                ?>
            </table>
            <?php
        }
        ?>

答案 2 :(得分:0)

您需要添加一个html表单元素。

<from action="yourURL.php" method="post">
   <input type="text" name="userInput" />
   <input type="submit" value="Submit" />
</form>

现在您的信息来自:

 $info = $_POST['userInput'];

然后编写UPDATE查询以将用户信息放入记录中。

答案 3 :(得分:0)

  • 我的第一个建议是使用mysql_fetch_assoc函数代替mysql_fetch_row函数。

  • 现在,将锚链接更改为"markAsInActive.php?id={$row[0]}"而不是markAsInActive.php,例如

echo "<td><a href='markAsInActive.php?id={$row[0]}'>Active</a></td>";

  • 在'markAsInactive.php'中,您可以写如下。

    $sql = "UPDATE `QUESTIONS` SET `is_active`='0' WHERE `ID` = {$_GET['id']}";
    $result = mysql_query($sql) or die(mysql_error());
    header('Location: ' . $_SERVER['HTTP_REFERER']);
    

假设QUESTIONS表的主键为ID且表的活动标志列为is_active