Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So aktualisieren Sie eine MySQL-Datenbank, ohne die Seite neu zu laden

Sie brauchen AJAX, wie alle gesagt haben.

Da Sie noch nie Javascript geschrieben haben, ist hier eine Anleitung für Sie.

Anstelle Ihres

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

Schreiben Sie

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

Verwenden Sie für AJAX jquery, wie Angelo vorgeschlagen hat. Laden Sie es herunter und fügen Sie Folgendes hinzu

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

Und schließlich in Ihrem path/to/add-item.php Datei Schreiben Sie den Code, um die Elemente hinzuzufügen. Der Parameter itemId wird hier als $_GET['itemId'] verfügbar sein . Geben Sie einfach die richtigen Statuswerte mit json_encode zurück.

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));
}