sql >> Databáze >  >> RDS >> Mysql

Jak aktualizovat databázi mysql bez opětovného načtení stránky

Potřebujete AJAX, jak všichni řekli.

Protože jste nikdy nenapsali žádný javascript, zde je pro vás průvodce.

Místo vašeho

<a href="add-item.php?itemid='.$itemId.'" > Add Item </a>

Napište

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

Pro AJAX použijte jquery, jak navrhl Angelo. Stáhněte si jej a přidejte následující

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

A nakonec ve vaší path/to/add-item.php soubor napište kód pro přidání položek. Parametr itemId zde bude k dispozici jako $_GET['itemId'] . Stačí vrátit správné hodnoty stavu pomocí 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. Začínáme s SQL na Oracle Application Express

  2. Přidejte a propojte knihovny mysql v souboru cmakelist.txt

  3. Moje cesta OOW15 je dokončena

  4. Musí být deklarován identifikátor PLS-00201 'PACKAGENAME.PROCEDURENAME'