从表单提交的SQL更新

时间:2011-08-02 23:52:04

标签: php mysql html forms

我希望使用mySQL更新表单提交表格列。

<form action="<?=$_SERVER['PHP_SELF']; ?>" method="post">
            <fieldset>
                <div data-role="fieldcontain">
                    <label for="status" class="select">Current Status:</label>
                    <select name="status" id="status">
                        <option value="Open">Open</option>
                        <option value="Closed">Closed</option>
                    </select>
                </div>
                <input type="submit" data-theme="a" name="submit" value="submit-value"></input>
            </fieldset>
        </form>
<?php
            if(isset($_POST['submit'])) {

                $query = "UPDATE vtiger_troubletickets SET status='".addslashes($_POST['status'])."' WHERE ticket_no='".$ticket['ticket_no']."'";
                echo $query;
                mysql_query($query);
            }
?>

更新

我已经到位的查询正确地在mysql中工作,除了在我的表单上提交数据库没有更新。我已经尝试了“提交”的输入和按钮标记。一切都已连接,因为我之前使用连接脚本测试了所有内容。关于为什么这不更新我的专栏的任何想法?

3 个答案:

答案 0 :(得分:1)

你应该有这样的东西:

<?php
    if(isset($_POST['submit'])) {
        $query = "UPDATE table_name SET col1='".addslashes($_POST['status'])."' WHERE id=1";
        mysql_query($query);
    }
?>

这样的事情应该可以解决问题。显然你需要更改table_name和id nr:)。

答案 1 :(得分:1)

您可以在if语句之后将所有php放在一个块中:

if(isset($_POST['submit'])){ //Your update goes here }

这可以确保表单已被提交,因此您不会在每个请求中查询数据库。如果我理解你的话,这是一个小小的讲座:

Javascript和HTML是客户端脚本,因此它们在Web浏览器中运行。 PHP是一种服务器端脚本语言,它在服务器上运行。

这个Javascript不能直接与PHP“交谈”,所以你不能将一个PHP函数分配给onClick事件,但是你可以使用Javascript向服务器发出一个AJAX请求。如果您有兴趣浏览网页。在线有大量的PHP和AJAX教程。

答案 2 :(得分:0)

您应该在此页面中检查是否已发送“状态”(isset($ _ POST ['status'])),如果已发送,则只需获取该值并执行查询(UPDATE表SET无论什么=什么东西条件)