2

我有一个这样的按钮:

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

在此处输入图像描述

我想将其状态更改为:

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

在此处输入图像描述

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

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

我试图让它像这样,但它一直在重新加载页面,而且我的数据太多,我无法在每次点击时重新加载它......

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

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

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


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

<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>
4

2 回答 2

4

因此,您必须将 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;

网页:

对于按钮

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

用于关闭按钮

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

我希望这能有所帮助。

于 2013-07-10T22:33:38.417 回答
0
"UPDATE 'User' SET 'cards' = 'MSN89' WHERE 'user_id' = 3"

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

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

于 2013-07-10T22:00:31.023 回答