【问题标题】:Update SQL value in Ajax and PHP在 Ajax 和 PHP 中更新 SQL 值
【发布时间】:2013-07-09 00:44:45
【问题描述】:

我有一个这样的按钮:

<a id="MSN89" class="onButton">

我想将其状态更改为:

<a id="MSN89" class="offButton">

通过单击第一个红色按钮,我希望能够将值(例如 MSM89)保存到我的 sql 数据库中。

通过单击第二个灰色按钮,我希望能够从我的 sql 数据库中输出值(例如 MSM89)。

我试着让它变成这样但是它一直在重新加载页面,而且我的数据太多,我无法每次点击都重新加载它......

UPDATE User
SET cards='MSN89'
WHERE User_Id='3';

我阅读了this,但我不知道如何在我的代码中实现它。

感谢您为我指明正确的方向。


我尝试了这种类型的代码,但可以肯定这是最好的方法,它不会刷新页面...

<a id="MSN89" class="onButton">
<script>
$(".onButton").click(function() {
  // sql request
  ...
  UPDATE User SET cards='MSN89' WHERE User_Id='3';
  ...
});
</script>


<a id="MSN89" class="offButton">
<script>
$(".offButton").click(function() {
  // sql request
  ...
  UPDATE User SET cards='' WHERE User_Id='3';
  ...
});
</script>

【问题讨论】:

  • 听起来您需要在每次单击按钮时发出 AJAX 请求而不是整个页面请求。你试过什么?
  • 那么您是否希望在不加载页面的情况下将数据(即 MSN89)插入并显示在您的页面上?
  • @saran banerjee:请。无需重新加载页面。
  • 你能显示一些代码吗?为了实现这一点,您需要一些 javascript(为了进行 ajax 调用)和一些 php 以执行数据库操作。
  • @George Cummins & Muc:我更新了代码。

标签: php sql ajax


【解决方案1】:
"UPDATE 'User' SET 'cards' = 'MSN89' WHERE 'user_id' = 3"

MSN89 不是 int 值,所以我相信它应该用引号引起来

一般的经验法则是 INT 值不需要引号,字符串需要

【讨论】:

    【解决方案2】:

    所以你必须使用 ajax 对于 js 代码,您需要一个可以从任何地方获取的 jquery 库。

    js代码

    function FnBookmark(id,mode){
    
    $.ajax({
                        url:'yourdomain.com/bookmark.php',
                        data:{mode:mode,id:id},
                        dataType:'json',
                        success:function(data){
                              if(mode == "on")
                              {
                                  $("#MSN89").attr("class", "offbutton");
                                  $("#MSN89").attr("onClick","FnBookmark('MSN89','off')");
                              }
                              else
                              {
                                  $("#MSN89").attr("class", "onbutton");
                                  $("#MSN89").attr("onClick","FnBookmark('MSN89','on')");
    
                              }
                        }
          });
    

    php代码:在bookmark.php中

    if($_GET['mode'] == "on")
    {
        $id = $_Get['id']; // this has the value MSN89
        $sql = "UPDATE User
            SET cards='$id'
            WHERE User_Id=3";
    
        //then execute the query
    
    
    }
    if($_GET['mode'] == "off")
    { 
       $sql = "UPDATE User
            SET cards=''
            WHERE User_Id=3";
    
        //then execute the query
    
    
    }
    header('Content-Type: application/json; charset=utf-8');
    exit;
    

    HTML页面:

    对于按钮

    <a id="MSN89" class="onButton" onclick="FnBookmark('MSN89','on');">
    

    关闭按钮

    <a id="MSN89" class="offButton" onclick="FnBookmark('MSN89','off');">
    

    我希望这能有所帮助。

    【讨论】:

    • 非常感谢萨兰!我会花时间测试它。 :)
    猜你喜欢
    • 2012-04-13
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 2015-04-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    相关资源
    最近更新 更多