通过 PHP 中的链接更新 MySQL 数据库

发布于 2024-11-02 03:46:49 字数 127 浏览 1 评论 0原文

我想做的是调用 php 类来更新连接的 mysql 数据库,而不更改页面。我想我可以用 Ajax 做到这一点,但我不确定。我见过大量使用表单的示例,但我正在寻找一个简单的 link

What I am trying to do is call a php class to update a connected mysql db, without changing the page. I am thinking I can do it with Ajax, but I am not certain. I have seen tons of examples using forms, but I am looking for a simple <a href="#">link</a>.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灯角 2024-11-09 03:46:49

要扩展 Khez 的评论,使用 jquery 你可以使用类似的内容:

<html>
<head>
<script type="text/javascript" src="PathToJquery"></script>
<script type="text/javascript">
$(document).ready (function ()
{
    $('#elID').click(function ()
    {
        $.get('urlToChangeDB?variable=value');
    }
}
</script>
</head>
<body>
<a href="#" id="elID">Link</a>
</body>
</html>

You will need to inlude the jquery libray

To expand on Khez's comment, using jquery you could use something like:

<html>
<head>
<script type="text/javascript" src="PathToJquery"></script>
<script type="text/javascript">
$(document).ready (function ()
{
    $('#elID').click(function ()
    {
        $.get('urlToChangeDB?variable=value');
    }
}
</script>
</head>
<body>
<a href="#" id="elID">Link</a>
</body>
</html>

You will need to inlude the jquery libray

当爱已成负担 2024-11-09 03:46:49

最简单的方法是使用一些 Ajax,可能是通过 JQuery。一个简单的例子是采用像

Form.php

<form id="ratingform" name="ratingform">        
    <input type="text" id="id" name="id" />

    <input type="text" id="rating" name="rating" />

    <input type="submit" id="loginsubmit" name="loginsubmit" value="Submit!" />
</form>

这样的表单,然后将其与一些 JQuery 链接以拦截该表单,并将其发送到 PHP 文件

JQuery.js

$(document).ready(function(){
    $("#ratingform").submit(function(event) {
        $.ajax({
            type: "POST",
            url: "rate.php",
            data: $('#ratingform').serialize(),
                datatype: "json",
            success: function(data){
                var ret = jQuery.parseJSON(data);
                    if(ret.result == "true")
                        // Success
                    else
                        // Failure
            }
    });
    event.preventDefault();
    });
});

然后,创建 PHP 文件来解释它

rate.php

$stmt = $sql->dbh->prepare("INSERT INTO `rating` (`ID`, `Rating`) VALUES (:id, :rating)");

$stmt->bindValue(':id', $_POST['id']);
$stmt->bindValue(':rating', $_POST['rating']);

$result = $stmt->execute();

echo json_encode(array('result' => "{$result}"));

die();

本质上,JQuery拦截表单操作并取消它,然后使用 serialize() 将数据打包并设置为 rate.php 作为 POST 数据。然后,rate.php 将其作为正常的 POST 提交进行处理,而 echo() 则是“true”或“false”的 JSON 编码结果,具体取决于是否SQL 查询成功,该结果被发送回 JQuery 脚本。 JQuery 解释 JSON 对象,然后根据 SQL 查询是否成功执行操作。

Easiest way is to use some Ajax, probably through JQuery. A simple example would be to take a form like

Form.php

<form id="ratingform" name="ratingform">        
    <input type="text" id="id" name="id" />

    <input type="text" id="rating" name="rating" />

    <input type="submit" id="loginsubmit" name="loginsubmit" value="Submit!" />
</form>

Then link it with some JQuery to intercept the form, and send it to a PHP file

JQuery.js

$(document).ready(function(){
    $("#ratingform").submit(function(event) {
        $.ajax({
            type: "POST",
            url: "rate.php",
            data: $('#ratingform').serialize(),
                datatype: "json",
            success: function(data){
                var ret = jQuery.parseJSON(data);
                    if(ret.result == "true")
                        // Success
                    else
                        // Failure
            }
    });
    event.preventDefault();
    });
});

Then, create the PHP file to interpret it

rate.php

$stmt = $sql->dbh->prepare("INSERT INTO `rating` (`ID`, `Rating`) VALUES (:id, :rating)");

$stmt->bindValue(':id', $_POST['id']);
$stmt->bindValue(':rating', $_POST['rating']);

$result = $stmt->execute();

echo json_encode(array('result' => "{$result}"));

die();

Essentially, the JQuery intercepts the form action and cancels it, then uses serialize() to package up the data and set it to rate.php as POST data. Then rate.php handles it as a normal POST submission, and echo()s a JSON encoded result of either "true" or "false", depending on whether or no the SQL query was successful, which is sent back to the JQuery script. The JQuery interprets the JSON object, then performs actions based on whether or not the SQL Query was successful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文