sql >> データベース >  >> RDS >> Mysql

ページをリロードせずにmysqlデータベースを更新する方法

    誰もが言っているように、AJAXが必要です。

    JavaScriptを書いたことがないので、ここにガイドがあります。

    の代わりに
    <a href="add-item.php?itemid='.$itemId.'" > Add Item </a>
    

    書く

    <a onclick="addItemToUsersList('.$itemId.')" > Add </a>
    

    AJAXの場合、Angeloが提案したようにjqueryを使用します。ダウンロードして、以下を追加してください

    <script type="text/javascript" src="http://path/to/jquery-latest.min.js"></script>
    <script type="text/javasript">
    function addItemToUsersList(itemId)
    {
      $.ajax({
        'url': 'path/to/add-item.php', 
        'type': 'GET',
        'dataType': 'json', 
        'data': {itemid: itemId}, 
        'success': function(data) 
        {
          if(data.status)
          {
            if(data.added)
            {
              $("span#success"+itemId).attr("innerHTML","Item added to your personal list");
            }
            else
            {
              $("span#success"+itemId).attr("innerHTML","This item is already on your list");
            }
          }
        },
        'beforeSend': function() 
        {
          $("span#success"+itemId).attr("innerHTML","Adding item to your bucketlist...");
        },
        'error': function(data) 
        {
          // this is what happens if the request fails.
          $("span#success"+itemId).attr("innerHTML","An error occureed");
        }
      });
    }
    </script>
    

    そして最後に、path/to/add-item.phpで ファイルは、アイテムを追加するためのコードを記述します。パラメータitemId ここでは$_GET['itemId']として利用できます 。 json_encodeを使用して適切なステータス値を返すだけです。

    if($bucketlist < 1) 
    {
      mysql_query("INSERT INTO membersbuckets (memberbucketid, userid, bucketid, complete) VALUES ('', '$userid', '$_GET['itemId]', '0')");
      return json_encode(array("status" => true, "added" => true));
    }
    else
    {
      return json_encode(array("status" => true, "added" => false));
    }
    


    1. ストアドプロシージャのMySQLPREPAREステートメント

    2. MySQLデータベースからSQLのみを使用したファイルへのBlobのエクスポート

    3. SQL-行から枯渇した値を減算する

    4. ユーザーに対してCREATEコマンドが拒否されましたか?