需要Ajax功能 - 更新数据库而不刷新页面

时间:2012-07-04 14:39:45

标签: javascript jquery ajax

我需要一个ajax函数的帮助

这是原始页面设置。 页面将包含带有此表单链接的表格

.... 链接 - 按钮1 - 按钮2 链接 - 按钮1 - 按钮2 链接 - 按钮1 - 按钮2 ...

其中button1用于隐藏行,而button2用于隐藏+向db中的该链接添加+ 1值。每个链接都有唯一的id,它将与button2一起使用,因此很容易定位它。 因此,访问者会单击连续按钮之一,行将隐藏,然后他移动到另一行....

数据库设置:

id - link - .... - nmbOFlikes

我的问题是我不懂Ajax,只有在点击每个按钮后才需要更新数据库的解决方案。

该页面不是静态的,它是由另一个从db中提取数据的函数构成的 这是简单的html页面版本,所以如果有人可以提供帮助......

所以这是没有功能的javascript

$(document).ready(function(){
    $("button.live").click(function(){
    $(this).parents('tr').hide();
        alert('Link is hidden');
    });
$("button.add").click(function(){
  $(this).parents('tr').hide();
  alert('This link is dead');
  $.post("update_db.php", { id: button_id, increment: true },
   function(data) {
   alert("Link incremented");
 });

});     });

这是表

<table width="500" border="0" cellspacing="0" cellpadding="3">
    <tr>
        <td><p>Link 1</p></td>
        <td><button class="live">live</button></td>
        <td><button class="add" id="1">add</button></td>
    </tr>
    <tr>
        <td><p>Link 2</p></td>
        <td><button class="live">live</button></td>
        <td><button class="add" id="2">add</button></td>
    </tr>
</table>

2 个答案:

答案 0 :(得分:1)

您不会将值直接添加到数据库,您将首先将数据发布到脚本。我不完全清楚你想要完成什么,但是post函数可能看起来像:

$.post("update_database_with_ajax.php", { id: button_id, increment: true },
   function(data) {
     alert("Link incremented");
   });

这是一个功能性的jsFiddle示例:Jquery POST Example

<强> update_data_With_ajax.php

/** This is an example and should not be used 'as is' **/
if ( isset( $_REQUEST['increment'] ) {

    // Connect to MySQL
    $conn = mysql_connect("localhost", "root", "");

    if (!$conn) {
        die('Could not connect: ' . mysql_error());
    }

    // Fetch the values we posted using AJAX
    $id = mysql_real_escape_string( $_REQUEST['id'] );

    //Select your database
    mysql_select_db("my_db", $conn);

    //increment your number of clicks    
    mysql_query("UPDATE table_name SET nmbofclicks = nmbofclicks + 1 WHERE id = {$id}");

 }

答案 1 :(得分:0)

简单使用jQuery.ajax

$.ajax({
    url: "serversite.php",
    type: "POST",
    data: {
        // Object of data you will send to serversite.php
    },
    success: function() {
        // everything went ok.
    }
});