Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment mettre à jour une base de données mysql sans recharger la page

Vous avez besoin d'AJAX, comme tout le monde l'a dit.

Puisque vous n'avez jamais écrit de javascript, voici un guide pour vous.

Au lieu de votre

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

Ecrire

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

Pour AJAX, utilisez jquery comme l'a suggéré Angelo. Téléchargez-le et ajoutez ce qui suit

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

Et puis enfin, dans votre path/to/add-item.php fichier écrire le code pour ajouter les éléments. Le paramètre itemId sera disponible ici en tant que $_GET['itemId'] . Renvoyez simplement les valeurs de statut appropriées en utilisant 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));
}